ruby中?%W{}和%w{}的使用案例詳解
ruby中 %W{}和%w{}的使用
%w{}是Ruby中的一種快捷方式,用于創(chuàng)建一個以空格分隔的字符串數(shù)組。例如,%w{apple banana cherry}將創(chuàng)建一個包含3個字符串元素的數(shù)組:["apple", "banana", "cherry"]。這種寫法比使用["apple", "banana", "cherry"]要更簡便,并且更易于閱讀。
可以使用#{}結(jié)合變量來在%w{}中插入變量。例如,
file_name = "example.txt" file_data = %w{This is an example file #{file_name}} 這將創(chuàng)建一個字符串數(shù)組 `file_data`,其中包含三個元素:"This"、"is"、"an"、"example"、"file"和"example.txt"。注意,#{file_name} 將會被替換成變量 `file_name` 的值。
這將創(chuàng)建一個字符串數(shù)組 `file_data`,其中包含三個元素:"This"、"is"、"an"、"example"、"file"和"example.txt"。注意,#{file_name} 將會被替換成變量 `file_name` 的值。
在使用 %w
時,Ruby 會將字符串中的空格作為分隔符,將其拆分成一個字符串數(shù)組。在上面這個例子中,Ruby 會將 "This is an example file #{file_name}"
拆分為 "This"、"is"、"an"、"example"、"file" 和 "\#{file_name}"
這幾個字符串,其中 "\#{file_name}"
并不會被解析為變量 file_name
的值。如果想要將 file_name
的值插入到字符串中,可以使用字符串插值的方式,例如:
file_data = %W{This is an example file #{file_name}}
注意,在使用 %W
時需要將字符串中的變量使用 #{}
包裹起來,這樣 Ruby 才會在字符串中插入變量的值
%w{}和%W{}都是用來表示字符串數(shù)組的語法,區(qū)別在于%w{}默認以空格作為分隔符,而%W{}可以自定義分隔符。
例如:
arr1 = %w{apple banana orange} arr2 = %W[apple banana orange] arr3 = %w|apple banana orange| arr4 = %W(apple banana orange) puts arr1.inspect #=> ["apple", "banana", "orange"] puts arr2.inspect #=> ["apple", "banana", "orange"] puts arr3.inspect #=> ["apple", "banana", "orange"] puts arr4.inspect #=> ["apple", "banana", "orange"]
以上四個數(shù)組的輸出結(jié)果都是一樣的,因為它們都表示的是包含三個元素的字符串數(shù)組。但是使用了不同的分隔符。
另外需要注意的是,%w{}和%W{}中的字符串不需要使用引號括起來。例如:
arr5 = %w{I am a string} arr6 = %W{I am also a string} puts arr5.inspect #=> ["I", "am", "a", "string"] puts arr6.inspect #=> ["I", "am", "also", "a", "string"]
以上兩個數(shù)組輸出的結(jié)果也是一樣的。
Ruby中%Q,%q,%W,%w,%x,%r,%s的用法
1.{}是分界符,即相同的符號或者一對符號
2.解釋如下:
%s{String} 生成一個符號對象 %r{String} 創(chuàng)建一個正則表達式字面值 %x{String} 執(zhí)行String所代表的命令
%{String} 創(chuàng)建一個使用雙引號括起來的字符串 %Q{String} 創(chuàng)建一個使用雙引號括起來的字符串 %q{String} 創(chuàng)建一個使用單引號括起來的字符串
%w{String} 將一個字符串以空白字符切分成一個字符串數(shù)組,進行較少替換(用單引號定義字符串一樣,不會ruby解析) %W{String} 將一個字符串以空白字符切分成一個字符串數(shù)組,進行較多替換(用雙引號定義字符串一樣,可以ruby解析)
3.測試結(jié)果:
$ irb
irb(main):001:0> t = %s|test|
=> :test
irb(main):002:0> t = %+test string+
=> “test string”
irb(main):003:0> %Q[It is just test Q. so 1+2=#{1+2}]
=> “It is just test Q. so 1+2=3″
irb(main):004:0> %q[It is just test q. so 1+2=#{1+2}]
=> “It is just test q. so 1+2=\#{1+2}”
irb(main):005:0> %W[It is just test %W so 1+2=#{1+2}]
=> ["It", "is", "just", "test", "%W", "so", "1+2=3"]
irb(main):006:0> %w[It is just test %w so 1+2=#{1+2}]
=> ["It", "is", "just", "test", "%w", "so", "1+2=\#{1+2}"]
irb(main):007:0>
到此這篇關于ruby中 %W{}和%w{}的使用的文章就介紹到這了,更多相關ruby %W{}和%w{}使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Ruby 中$開頭的全局變量、內(nèi)部變量、隱藏變量介紹
這篇文章主要介紹了Ruby 中$開頭的全局變量、內(nèi)部變量、隱藏變量介紹,需要的朋友可以參考下2014-04-04Ruby連接使用windows下sql server數(shù)據(jù)庫代碼實例
這篇文章主要介紹了Ruby連接使用windows下sql server數(shù)據(jù)庫代碼實例,本文直接給出實現(xiàn)代碼,而且給出了兩種實現(xiàn)和access數(shù)據(jù)庫的實現(xiàn)代碼,需要的朋友可以參考下2015-05-05win7安裝ruby on rails開發(fā)環(huán)境
看到很多文章都說ruby環(huán)境在windows上是非常難搭建,會出現(xiàn)各種各樣的怪問題,所以都推薦到linux和mac上安裝開發(fā)。但是我按照教程搭了下,問題也不算太多??傔^大概花費了2個半小時左右就完成了。下面就把安裝的步驟及具體的版本記錄了一下供大家參考。2014-07-07