Ruby提供了unless和elsif声明。假设会有类似的elsunless陈述似乎是自然的,但是没有。这是否有特定的原因? 为了说明,这个声明将允许这样的代码。 unless broken
# do something
elsunless done
# do something else
end
我知道,这个代码可以被改写为使用if和elsif,但在使用unless某
function A: Boolean;
function B: Boolean;
我(不小心)写了这个: A or B;
取而代之的是: if not A then
B;
编译器拒绝第一种形式,我很好奇,为什么? 短路评估他们都会做同样的事情,他们不会? 澄清:我想知道为什么这个语言不是为了让我的表达作为一个陈述而设计的。