我的 RoR 代码如下;
1. error_regex = /\|FileName.exe\|((dlg|frm|cls).*?)/
2. error_regex.match(backtrace)
3. if !error_regex.nil?
4. file_name = error_regex[1].sub!(/\.zip/, '')
5. file_name
6. end
所以我的问题是,这里的第 3 行发生了什么。 我的 RoR 经验基本上为零,所以看着这段代码,我将其解读为 如果 error_regex.nil 不为零则继续
但是那是什么?为了 我不能这样做
if !error_regex.nil
正则表达式都很好,我只是想了解这个语法。
最佳答案
问号用于指示该方法按照约定返回 bool 值。类似的例子有include?
对于数组,(如果数组中有给定元素,则返回 true
), empty?
对于字符串(如果 true
则返回 string == ""
),并且 zero?
对于整数(如果 int 为零,则返回 true
)。
所以它不是 Rails 特定的 - 它是 Ruby 特定的。
关于ruby - 检查正则表达式是否与 RoR 匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7749254/