百分比字面量 (Percent Literals)
统一用圆括号,不要用其他括号,
因为它的行为更接近于一个函数调用。[link]# 错误
%w[date locale]
%w{date locale}
%w|date locale|
# 正确
%w(date locale)
随意用
%w
[link]STATES = %w(draft open closed)
在一个单行字符串里需要 插值(interpolation) 和内嵌双引号时使用
%()
。
对于多行字符串,建议用 heredocs 语法。[link]# 错误 - 不需要字符串插值
%(<div class="text">Some text</div>)
# 直接 '<div class="text">Some text</div>' 就行了
# 错误 - 无双引号
%(This is # {quality} style)
# 直接 "This is # {quality} style" 就行了
# 错误 - 多行了
%(<div>\n<span class="big"># {exclamation}</span>\n</div>)
# 应该用 heredoc.
# 正确 - 需要字符串插值, 有双引号, 单行.
%(<tr><td class="name"># {name}</td>)
仅在需要匹配 多于一个 ‘/‘符号的时候使用
%r
。[link]# 错误
%r(\s+)
# 依然不好
%r(^/(.*)$)
# should be /^\/(.*)$/
# 正确
%r(^/blog/2011/(.*)$)
避免使用 %x ,除非你要调用一个带引号的命令(非常少见的情况)。
[link]# 错误
date = %x(date)
# 正确
date = `date`
echo = %x(echo `date`)