我刚刚开始使用Ruby,并在RubyMine建议我更改此代码时发现语句修饰符:
if !VALID_DIRECTIONS.include?(direction)
raise ArgumentError, "Invalid direction"
end
Run Code Online (Sandbox Code Playgroud)
对此:
raise ArgumentError, "Invalid direction" if !VALID_DIRECTIONS.include?(direction)
Run Code Online (Sandbox Code Playgroud)
我喜欢它如何使代码更简洁.但是,我可以看到它乍一看可能具有误导性并强加可读性问题,因为它将效果置于条件之前.然后,也许那只是因为我已经习惯了C风格的语言.
有没有人因使用语句修饰符而遇到麻烦,或者你觉得他们已经改进了你的代码?此外,是否有人有使用修饰符的一般指导原则(即,对某些操作特别有效,或对其他操作无效)?
我是Perl的新手.虽然知道一点C.我在课堂笔记中看到了这个片段:
$STUFF = "C:/scripts/stuff.txt";
open STUFF or die "Cannot open $STUFF for read: $!";
print "Line $. is: $_" while (<STUFF>);
Run Code Online (Sandbox Code Playgroud)
为什么while在之后print的语句?它有什么作用?
something.each do |x|
#lots of stuff
end if some_condition
Run Code Online (Sandbox Code Playgroud)