Ruby 里的 %Q, %q, %W, %w, %x, %r, %s, %i (譯)

%Q

用于替代雙引號的字符串. 當你需要在字符串里放入很多引號時候, 可以直接用下面方法而不需要在引號前逐個添加反斜杠 (")

%Q(Joe said: "Frank said: "#{what_frank_said}"")

=>"Joe said: "Frank said: "Hello!"""

(...)也可用其他非數(shù)字字母的符號或成對的符號代替, 諸如[...], !...!, +...+,{...}, <...>等.

以下寫法全部與上面等效:

%Q!Joe said: "Frank said: "#{what_frank_said}""!
%Q[Joe said: "Frank said: "#{what_frank_said}""]
%Q+Joe said: "Frank said: "#{what_frank_said}""+

%q

與%Q類似, 但是表示的是單引號字符串

%q(Joe said: 'Frank said: '#{what_frank_said} ' ')
=> "Joe said: 'Frank said: '\#{what_frank_said} ' '"    

%W

語法近似于%Q, 用于表示其中元素被雙引號括起的數(shù)組.

%W(#{foo} Bar Bar\ with\ space)
=> ["Foo", "Bar", "Bar with space"] 

%w

用于表示其中元素被單引號括起的數(shù)組. 比較奇怪的是(斜杠空格)會被轉(zhuǎn)化成(空格), 但是其他的內(nèi)容不會.

%w(a b c\ d \#e #{1}f)
=> ["a", "b", "c d", "\\#e", "\#{1}f"]

%x

使用`方法執(zhí)行一段shell腳本并返回標準輸出內(nèi)容.

%x(echo foo:#{foo})
=> "foo:Foo\n"    

%r

語法近似于%Q, 用于正則表達式.

%r(/home/#{foo})
 => "/\\/home\\/Foo/"  

%s

用于表示symbol, 但是不會對其中表達式等內(nèi)容進行轉(zhuǎn)化

%s(foo)
=> :foo
%s(foo bar)
=> :"foo bar"
%s(#{foo} bar)
=> :"\#{foo} bar"

%i

Ruby 2.0 之后引入的語法, 用于生成一個symbol數(shù)組

資料來源:https://ruby-china.org/topics/18512

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末儒洛,一起剝皮案震驚了整個濱河市琅锻,隨后出現(xiàn)的幾起案子向胡,更是在濱河造成了極大的恐慌,老刑警劉巖处硬,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荷辕,死亡現(xiàn)場離奇詭異,居然都是意外死亡疮方,警方通過查閱死者的電腦和手機茧彤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門棘街,熙熙樓的掌柜王于貴愁眉苦臉地迎上來承边,“玉大人,你說我怎么就攤上這事险污。” “怎么了蛔糯?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵蚁飒,是天一觀的道長。 經(jīng)常有香客問我琼懊,道長爬早,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任醉旦,我火速辦了婚禮,結(jié)果婚禮上车胡,老公的妹妹穿的比我還像新娘优幸。我一直安慰自己,他們只是感情好网杆,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布碳却。 她就那樣靜靜地躺著,像睡著了一般馍资。 火紅的嫁衣襯著肌膚如雪关噪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天使兔,我揣著相機與錄音,去河邊找鬼熊经。 笑死,一個胖子當著我的面吹牛镐依,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播槐壳,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼宏粤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了来农?” 一聲冷哼從身側(cè)響起崇堰,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎海诲,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咨演,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡薄风,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年拍嵌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撇他。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡困肩,死狀恐怖脆侮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情他嚷,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布卸耘,位于F島的核電站蚣抗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏翰铡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一锭魔、第九天 我趴在偏房一處隱蔽的房頂上張望迷捧。 院中可真熱鬧胀葱,春花似錦漠秋、人聲如沸抵屿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朝群。三九已至,卻和暖如春姜胖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蚜锨。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工亚再, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氛悬。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像棍现,于是被迫代替她去往敵國和親镜遣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • %Q 用于替代雙引號的字符串. 當你需要在字符串里放入很多引號時候, 可以直接用下面方法而不需要在引號前逐個添加反...
    YongpingZhao閱讀 3,691評論 0 2
  • 本文介紹 Ruby 基本的數(shù)據(jù)類型谎僻,主要參考《Ruby編程語言》艘绍。Ruby支持的數(shù)據(jù)類型包括基本的Number讶舰、S...
    零小白閱讀 12,124評論 0 11
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,212評論 0 4
  • 有時 在喧囂的浮世獨善其舞 將淺愁 深愁 當茶飲了 雖然行走從來沒有明凈方向 但卻記得撕下每天的日歷 有時 在某個...
    _老貓_閱讀 403評論 0 0
  • 感謝上蒼 今天是感恩節(jié)般甲,好多朋友在午后最明麗的陽光中傳遞著感恩節(jié)的快樂鹅颊。 真好,又到感恩節(jié)了堪伍! 這真是一個最美麗的...
    西城一客閱讀 823評論 1 5