'%i'表示法的起源是什么?

时间:2013-06-27 23:59:13

标签: ruby syntax

Ruby经典地支持以下文字:

%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[]适用于e x ecute

Ruby 2.0引入了%i符号:

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

为什么i

1 个答案:

答案 0 :(得分:9)

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

"foo".intern #=> :foo