我无法理解以下代码段的功能
"foo = %{foo}" % { :foo => 'bar' }
=> "foo = bar"
因此,从理解上来说,“ foo =%{foo}”是格式规范,但是在这种情况下,它似乎使用%{foo}执行变量插值?
String#%
使用给定的字符串作为格式规范,并应用参数(数组/哈希)并返回结果字符串。
%{...}
是按名称格式引用的。还有%<...>
一些还需要格式样式(s,d,f,...)
"foo = %{key}" % { :key => 'bar' }
# => "foo = bar"
"foo = %<key>s" % { :key => 'bar' }
# => "foo = bar"
有关格式规范的更多详细信息,请参见Kernel#sprintf
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句