欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ruby中?%W{}和%w{}的使用案例詳解

 更新時(shí)間:2023年06月09日 09:48:00   作者:Tloml..  
%w{}是Ruby中的一種快捷方式,用于創(chuàng)建一個(gè)以空格分隔的字符串?dāng)?shù)組,在使用?%w?時(shí),Ruby?會(huì)將字符串中的空格作為分隔符,將其拆分成一個(gè)字符串?dāng)?shù)組,這篇文章主要介紹了ruby中%W{}和%w{}的使用,需要的朋友可以參考下

ruby中 %W{}和%w{}的使用

%w{}是Ruby中的一種快捷方式,用于創(chuàng)建一個(gè)以空格分隔的字符串?dāng)?shù)組。例如,%w{apple banana cherry}將創(chuàng)建一個(gè)包含3個(gè)字符串元素的數(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)建一個(gè)字符串?dāng)?shù)組 `file_data`,其中包含三個(gè)元素:"This"、"is"、"an"、"example"、"file"和"example.txt"。注意,#{file_name} 將會(huì)被替換成變量 `file_name` 的值。

這將創(chuàng)建一個(gè)字符串?dāng)?shù)組 `file_data`,其中包含三個(gè)元素:"This"、"is"、"an"、"example"、"file""example.txt"。注意,#{file_name} 將會(huì)被替換成變量 `file_name` 的值。

在使用 %w 時(shí),Ruby 會(huì)將字符串中的空格作為分隔符,將其拆分成一個(gè)字符串?dāng)?shù)組。在上面這個(gè)例子中,Ruby 會(huì)將 "This is an example file #{file_name}" 拆分為 "This"、"is"、"an"、"example"、"file" 和 "\#{file_name}" 這幾個(gè)字符串,其中 "\#{file_name}" 并不會(huì)被解析為變量 file_name 的值。如果想要將 file_name 的值插入到字符串中,可以使用字符串插值的方式,例如:

file_data = %W{This is an example file #{file_name}}

注意,在使用 %W 時(shí)需要將字符串中的變量使用 #{} 包裹起來,這樣 Ruby 才會(huì)在字符串中插入變量的值

%w{}和%W{}都是用來表示字符串?dāng)?shù)組的語法,區(qū)別在于%w{}默認(rèn)以空格作為分隔符,而%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"]

以上四個(gè)數(shù)組的輸出結(jié)果都是一樣的,因?yàn)樗鼈兌急硎镜氖前齻€(gè)元素的字符串?dāng)?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"]

以上兩個(gè)數(shù)組輸出的結(jié)果也是一樣的。

Ruby中%Q,%q,%W,%w,%x,%r,%s的用法

1.{}是分界符,即相同的符號或者一對符號

2.解釋如下:

%s{String} 生成一個(gè)符號對象 %r{String} 創(chuàng)建一個(gè)正則表達(dá)式字面值 %x{String} 執(zhí)行String所代表的命令

%{String}   創(chuàng)建一個(gè)使用雙引號括起來的字符串 %Q{String} 創(chuàng)建一個(gè)使用雙引號括起來的字符串 %q{String} 創(chuàng)建一個(gè)使用單引號括起來的字符串

%w{String} 將一個(gè)字符串以空白字符切分成一個(gè)字符串?dāng)?shù)組,進(jìn)行較少替換(用單引號定義字符串一樣,不會(huì)ruby解析) %W{String} 將一個(gè)字符串以空白字符切分成一個(gè)字符串?dāng)?shù)組,進(jìn)行較多替換(用雙引號定義字符串一樣,可以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> 

到此這篇關(guān)于ruby中 %W{}和%w{}的使用的文章就介紹到這了,更多相關(guān)ruby %W{}和%w{}使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論