【发布时间】:2023-04-04 11:42:01
【问题描述】:
我在 ruby 脚本中有以下块:
for line in allLines
line.match(/aPattern/) { |matchData|
# Do something with matchData
}
end
如果/aPattern/ 与行中的任何内容都不匹配,该块还会运行吗?如果没有,有没有办法强制它运行?
【问题讨论】:
-
从文档 (ruby-doc.org/core-1.9.3/String.html#method-i-match) 看来,如果没有匹配,则不会调用该块:“如果给出了一个块,如果匹配成功,则使用 MatchData 调用该块,这样你可以写”。请问如果没有匹配,你为什么要运行它?