2011-05-29 197 views
6

我見過不同的人使用不同類型的大括號/括號。我在腳本控制檯中試用了它們,它們都可以工作。爲什麼他們都工作,並且它使用哪個?爲什麼在百分比符號中使用不同的分隔符?

%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? 
+1

您錯過了很多更多。我添加了整個列表。另請注意,這不僅適用於'%w'。它適用於'%','%Q','%q','%x','%r','%w','%W','%s'。 – sawa 2011-05-29 19:50:31

+0

通常我會嘗試選擇類似普通字符串'''和'''或類似'[',']'或'(',')'的匹配分隔符。有時候你必須選擇一些非常抽象的,但是試着堅持一些更常見/正常的事情。 – 2011-05-30 00:33:27

回答

10

沒有區別。靈活性的原因是,您可以選擇不會出現在您的%w()字符串中的分隔符。

+7

我使用'[]',因爲它使得它更清晰,結果是一個Array。 – 2011-05-29 19:02:43

5

你可以選擇你自己的分隔符。選擇一個可以讓你不必轉義角色的人。

0

沒有區別,只是多行字符串的個人偏好。有些人喜歡用...

<<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

相關問題