您好我遇到了意想不到的事情,无法在任何地方找到答案..
我有一个哈希:
hash = {:thiskey => /value/, :anotherkey => /anothervalue/}
当我像这样迭代哈希时:
hash.each do |key, value|
puts key
puts value
end
如果值是regex / calendar / ....迭代器产生:
>>> thiskey
>>>(?-mix:calendar)
对此为何的任何想法?
谢谢!
答案 0 :(得分:2)
(?-mix:calendar)
是使用ruby时正则表达式的字符串表示形式。
>> a = /test(er)/
=> /test(er)/
>> print a.source
test(er)=> nil
>> print a
(?-mix:test(er))=> nil
>>
答案 1 :(得分:2)
(?-mix:...)
表示“对于正则表达式的这一部分,dotall模式,不区分大小写模式和详细模式已关闭”(这是默认值)。表示只是明确表示。