为什么在百分比符号中使用不同的分隔符?
问题描述:
我见过不同的人使用不同类型的大括号/括号。我在脚本控制台中试用了它们,它们都可以工作。为什么他们都工作,并且它使用哪个?为什么在百分比符号中使用不同的分隔符?
%w|one two|
%w{one two}
%w[one two]
%w(one two)
实际上,可以使用更多的变化字符。可以使用除=
之外的任何非字母数字字符。
%w!a!
%[email protected]@
%w#c#
%w$d$
%w%e%
%w^f^
%w&g&
%w*h*
%w(i)
%w_j_
%w-k-
%w+l+
%w\m\
%w|n|
%w`o`
%w~p~
%w[q]
%w{r}
%w;s;
%w:t:
%w'u'
%w"v"
%w,w,
%w<x>
%w.y.
%w/z/
%w?aa?
答
没有区别。灵活性的原因是,您可以选择不会出现在您的%w()
字符串中的分隔符。
+7
我使用'[]',因为它使得它更清晰,结果是一个Array。 – 2011-05-29 19:02:43
答
你可以选择你自己的分隔符。选择一个可以让你不必转义角色的人。
答
没有区别,只是多行字符串的个人偏好。有些人喜欢用...
<<eos
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud.
eos
只要开始和结束是相同的,那么你很好。
+0
如果''''在那里? – Tom 2011-05-29 19:11:39
您错过了很多更多。我添加了整个列表。另请注意,这不仅适用于'%w'。它适用于'%','%Q','%q','%x','%r','%w','%W','%s'。 – sawa 2011-05-29 19:50:31
通常我会尝试选择类似普通字符串'''和'''或类似'[',']'或'(',')'的匹配分隔符。有时候你必须选择一些非常抽象的,但是试着坚持一些更常见/正常的事情。 – 2011-05-30 00:33:27