我有一个数组,以及一个返回给定值的值的函数.最后,我想创建一个hashmap,它将数组的值作为键值,并将f(key_value)的结果作为值.是否有一个干净,简单的方法,就像使用块的每个/ map一样,这样做?
所以相当于的东西
hsh = {}
[1,2,3,4].each do |x|
hsh[x] = f(x)
end
Run Code Online (Sandbox Code Playgroud)
但看起来更像这个,因为它很简单,一行?
results = array.map { | x | f(x) }
Run Code Online (Sandbox Code Playgroud) 对于正则表达式我总是完全失去所以我希望这里有人可以提供帮助.
Joomla使用此正则表达式来验证ini文件的行:
/^(|(\[[^\]]*\])|([A-Z][A-Z0-9_\-]*\s*=(\s*(("[^"]*")|(_QQ_)))+))\s*(;.*)?$/
Run Code Online (Sandbox Code Playgroud)
这些行有这种格式
JLIB_LOGIN_AUTHENTICATE="Username and password do not match or you do not have an account yet."
Run Code Online (Sandbox Code Playgroud)
显然"不能允许在价值部分,但\"可能.目前这与上述正则表达式相匹配.我可以看到它是如何匹配但我不能修改正则表达式不匹配\".我尝试添加|(\Q\"\E)到各个地方,但没有运气.