是什么触发了有关不明确的第一个参数的 Ruby 警告?
在 Ruby 1.9.1 中,如果您这样做
$VERBOSE = true
puts /m/ , 42.to_s
或如果我这样做
$VERBOSE = true
puts /m/ , "42"
您会收到警告
warning: ambiguous first argument; put parentheses or even spaces
我不会收到警告
$VERBOSE = true
puts "m" , 42.to_s
但如果我这样做或
$VERBOSE = true
puts(/m/, 42.to_s)
那么具体是什么触发了此警告?我还可以在原始表达式中添加哪些空格?
In Ruby 1.9.1, if you do
$VERBOSE = true
puts /m/ , 42.to_s
or if I do
$VERBOSE = true
puts /m/ , "42"
You get the warning
warning: ambiguous first argument; put parentheses or even spaces
But I don't get it if I do
$VERBOSE = true
puts "m" , 42.to_s
or
$VERBOSE = true
puts(/m/, 42.to_s)
So what specifically triggers this warning? And what more spaces could I have added to the original expression?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
“问题”是
/
可以表示除法或正则表达式。该消息是通用的;解析器并不一定意味着空格会对给定的特定表达式有所帮助。The "problem" is that
/
could signify division or a regular expression. The message is generic; the parser doesn't necessarily mean that spaces would have helped a given specific expression.