所以这个模式:
def foo(&block)
block.call
end
foo lambda { puts 'hi' }
Run Code Online (Sandbox Code Playgroud)
导致这个:
wrong number of arguments (1 for 0) (ArgumentError)
使用Ruby 1.9.3.
我做错了吗?
我正在为以下短语变体写一个正则表达式:
我抓住了两件事:"更大"或"更少"这个词和金额.我想要记录金额是否有美元符号,但这就是绊倒我的原因.
这是我的正则表达式:
/^.*(?=cart total).*(?=(greater|less)).*(?=\$([0-9.]+))/
Run Code Online (Sandbox Code Playgroud)
这个:
"cart total is greater than $5.00".match(/^.*(?=cart total).*(?=(greater|less)).*(?=\$([0-9.]+))/)
Run Code Online (Sandbox Code Playgroud)
让我"更大"和5.00但是这个:
"cart total is greater than 5.00".match(/^.*(?=cart total).*(?=(greater|less)).*(?=\$([0-9.]+))/)
Run Code Online (Sandbox Code Playgroud)
让我"更大"和""
我意识到前瞻是专门搜索组中的"$"因此将其取出导致它找不到金额,但我很乐意看到如何修改它以查找金额而不管是否存在"$"或不.
谢谢!