ruby经典地支持以下文本:

%q[quack quack] #=> "quack quack"
%r[quack quack] #=> /quack quack/
%w[quack quack] #=> ["quack", "quack"]
%x[echo quack quack] #=> "quack quack\n"

我对它们的起源的理解如下:
%q[]用于引号
%r[]用于regex
%w[]表示单词
%x[]用于执行
ruby 2.0引入了%i符号:
%i[quack quack] #=> [:quack, :quack]

为什么i

最佳答案

它可能是对用于从字符串中获取符号的String#intern method的引用。

"foo".intern #=> :foo

07-27 13:32