Ruby 正则表达式的 o 选项

如果在正则表达式中指定了 o 选项,那么这个此表达式中的任意 #{...} 替换仅在第一次求解它的时候执行替换;否则,替换在每 次字面量生成 Regexp对象时执行:

1
2
3
4
5
3.times {|i| p /#{i}/}
# 输出:
/0/
/1/
/2/
1
2
3
4
5
3.times {|i| p /#{i}/o}
# 输出:
/0/
/0/
/0/