Ruby&&关于数组的运算符

时间:2012-06-12 08:49:54

标签: c# ruby porting

我正在移植Amp的DiffLib实现to C#并偶然发现了这一行(#114):

@b2j[@a[i,1]] && @b2j[@a[i,1]].each do |j|

现在,我已经移植了其他所有内容并且大多数测试似乎都已通过,但我仍然不明白这里的&&是什么。我认为它是C#中的那些东西:

if(b2j.ContainsKey(a[i]))
{
    foreach(var j in b2j[a[i]])

但仍然不是特别肯定。

1 个答案:

答案 0 :(得分:2)

它表示如果@b2j[@a[i,1]]不是nil而不是false,那么继续并使用each进行迭代。在这种情况下,它用于控制程序的流程。