我正在移植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]])
但仍然不是特别肯定。
答案 0 :(得分:2)
它表示如果@b2j[@a[i,1]]
不是nil
而不是false
,那么继续并使用each
进行迭代。在这种情况下,它用于控制程序的流程。