在Ruby中检查条件和运行方法的最佳方法是什么?哪一个最具可读性?
如果foo吧
或
foo and bar
答案 0 :(得分:2)
我会根据情况使用其中一个。
如果我有兴趣根据遇到的条件运行方法(又名条件没有副作用):
do_something if this_condition_is_true
如果我只对另一个方法成功完成(也就是两个方法都有副作用)感兴趣运行方法:
do_something and do_something_other
答案 1 :(得分:2)
编辑正如Smar所指出的,对于最新的Ruby版本,以下情况可能并非如此。现在检查。问题仍在继续here
通常,您应该使用if
,因为它是为此目的而设计的。
bar if foo
但通常,您希望在评估条件的过程中定义局部变量。在这种情况下,您不能使用postfix if
表示法;以下将引发错误(前提是x
未定义):
bar(x) if x = h[:foo]
如果你想把它放在一行,你必须使用and
。
x = h[:foo] and bar(x)