2013-06-27 21 views
4

红宝石已经古典支持以下文字:'%i`表示法的起源是什么?

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

是我的那些起源的理解如下:

  • %q[]q uotes
  • %r[][R egex
  • %w[]用于w个ORDS
  • %x[]是电子X ecute

的Ruby 2.0引入了%i符号:

%i[quack quack] #=> [:quack, :quack] 

为什么i

回答

9

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

"foo".intern #=> :foo 
相关问题