本帖最后由 taroxd 于 2016-2-25 06:34 编辑
如果你不喜欢这种「一件事情可以有多种方法完成」的 philosophy,建议去学 python。
如果你觉得 if not 和 unless 也是需要“记”的东西,建议去学英语。
下面有四行代码执行的效果是一样的,但阅读代码时语义的重点不一样。
if not/unless, while not/until 这种东西,除了优先级之外,更重要的不同还是在于语义上的微妙差别吧。
def condition_is_true? true end def condition_is_false? false end def do_something_success? true end def do_something_fail? false end puts 1 if condition_is_true? puts 2 unless condition_is_false? do_something_success? && puts(3) do_something_fail? || puts(4)
def condition_is_true?
true
end
def condition_is_false?
false
end
def do_something_success?
true
end
def do_something_fail?
false
end
puts 1 if condition_is_true?
puts 2 unless condition_is_false?
do_something_success? && puts(3)
do_something_fail? || puts(4)
|