【发布时间】:2011-11-27 07:55:47
【问题描述】:
这是我的方法。它检查文件是否可用。我怎么把它弄干?
@@filepath = nil
def self.file_usable?
return false unless @@filepath
return false unless File.exists?(@@filepath)
return false unless File.readable?(@@filepath)
return false unless File.writable?(@@filepath)
return true
end
我应该使用某种循环吗?
【问题讨论】:
-
你有什么问题?这是一个非常易读的逻辑表示,一目了然。
-
@mu: 你真的更喜欢这个命令式返回链而不是简单的表达式
a && b && c && d?。抱歉,我没听懂…… -
@tokland:我愿意,它比单行扫描要容易得多。您可以通过适当应用换行符的单个表达式来实现相同的可读性,但 Ruby 让您使用反斜杠或将逻辑运算符放在行尾有些模糊的地方。
-
伙计们,我认为我最初粘贴的内容足够可读,但我是一个 ruby 新手,试图以 DRY 的方式了解 ruby 真正可以做什么。所以@tokland 的 sn-p 真的教会了我很多关于语言的知识
-
4x "return false unless..." -- 似乎它可以从 DRYing 中受益:-)
标签: ruby refactoring