有人可以解释为什么这样做:
%{#$"}
Run Code Online (Sandbox Code Playgroud)
在irb产生以下?
=> "[\"enumerator.so\", \"enc/encdb.so\", \"enc/big5.so\", \"enc/cp949.so\", \"enc/emacs_mule.so\", \"enc/euc_jp.so\", \"enc/euc_kr.so\", \"enc/euc_tw.so\", \"enc/gb2312.so\", \"enc/gb18030.so\", \"enc/gbk.so\", \"enc/iso_8859_1.so\" ... ]
Run Code Online (Sandbox Code Playgroud)
谢谢!
fal*_*tru 25
%{ ... }
是一个字符串文字.它类似于"..."
.
%{a string} == "a string"
# => true
Run Code Online (Sandbox Code Playgroud)
#{expr}
在那些字符串文字内部是插值.expr
里面的表达式用它的值代替.对于全局变量,您可以省略{
和}
.
"#{1 + 2}"
# => "3"
Run Code Online (Sandbox Code Playgroud)
%{#$"} == $".to_s
# => true
Run Code Online (Sandbox Code Playgroud)
$"
是预定义变量之一:加载的模块名称数组.