在ruby中,问号在函数的定义中是什么意思?
我有一个这样的函数-- 函数名为seld.is_dl,它接受路径参数。我的问题是,函数定义中的这个在ruby中,问号在函数的定义中是什么意思?,ruby,Ruby,我有一个这样的函数-- 函数名为seld.is_dl,它接受路径参数。我的问题是,函数定义中的这个?符号表示什么 def self.is_dl?(path) path = File.basename(path) if path =~ /setup.exe/i return false else return true end end 我是java开发人员,在If-ELSE块中我看到了“?”,这就是为什么我无法理解这意味着什么??是方法名称中的有效字
?
符号表示什么
def self.is_dl?(path)
path = File.basename(path)
if path =~ /setup.exe/i
return false
else
return true
end
end
我是java开发人员,在If-ELSE块中我看到了“?”,这就是为什么我无法理解这意味着什么?
?
是方法名称中的有效字符
它通常用于表示返回true
或false
例如:
- 等
代码>也是有效字符。它通常用于表示“破坏性”方法
- 等
如果您想做更多的事情,Ruby技术上允许任何字符串作为方法名。奇数的需要define_method()
和send()
调用,但形式上没有限制
module Hello
class << self
define_method "this is my method :)" do |foo|
puts "you gave my method #{foo}"
end
define_method "this isn't your method :(, sorry" do
puts "sorry, not your method, bro"
end
end
end
Hello.send("this is my method :)", "candy")
#=> you gave my method candy
Hello.send("this isn't your method :(, sorry")
#=> sorry, not your method, bro
模块你好
你给我的方法是什么
您好,发送(“这不是您的方法:(,对不起”)
#=>对不起,不是你的方法,兄弟
另外,#方法?
不应该有任何副作用。爆炸(!
,你说的数组#排序!
的“排序爆炸”)表示你应该小心使用的方法(不一定是破坏性的)。它是破坏性的。它破坏(改变)调用它的原始数组。