%用於建立乙個使用雙引號括起來的字串
%q用於建立乙個使用雙引號括起來的字串
%q!some string of 「characters」! <==> 」 some string of /」characters/」 「
%q用於建立乙個使用單引號括起來的字串
%q!some string of 「characters」! <==> 『some string of characters』
%r用於建立乙個正規表示式字面值
%r <==> ///usr//bin///%w用於將乙個字串以空白字元切分成乙個字串陣列,進行較少替換
%w用於將乙個字串以空白字元切分成乙個字串陣列,進行較多替換
%w(north south east west) <==> ["north", "south", "east", "west"]
%s用於生成乙個符號物件
%x用於執行string所代表的命令
%x <==> `ls /usr/local`
ps:上面幾個%表示法中用{}擴住了string,其實這個{} 只是一種分割符,可以換成別的字元,比如(),那麼%表示法就是%(string),當然還可以是別的字元,對於非括號型別的分割符,左右兩邊要相同, 如%!string!
下面我對這些表示法簡單舉幾個例子:
%用於建立乙個使用雙引號括起來的字串
這個表示法與%q完全一樣,這邊直接句個例子看結果:
result = %
puts "result is: #, type is:#"
結果: result is: hello, type is:string
%q用於建立乙個使用雙引號括起來的字串
%q用於建立乙個使用單引號括起來的字串
從說明中可以看出這兩個表示法的區別就是乙個使用雙引號,乙個使用單引號。使用雙引號的字串會對字串中的變數做較多替換,而單引號則做較少的替換,具 體看例子。先看%q:
world = "world"
result = %q}
puts "result is: #, type is:#"
結果: result is: hello world, type is:string
換成%q:
world = "world"
result = %q}
puts "result is: #, type is:#"
結果:
result is: hello #, type is:string
從上面的結果可以看出,較少替換的情況下,#被解析成了字串,而不會去計算這個變數中的值。
%r用於建立乙個正規表示式字面值
就像使用/reg/方式一樣,看**:
result = %r
puts result =~ "hello world"
puts "result is: #, type is:#"
結果: 6
result is: (?-mix:world), type is:regexp
可以看出,world從第6個字元開始匹配
%w用於將乙個字串以空白字元切分成乙個字串陣列,進行較少替換
%w用於將乙個字串以空白字元切分成乙個字串陣列,進行較多替換
這兩個應該是大家見過最多的,用這個方式構造陣列,可以省下一些逗號,ruby真 是會慣壞大家,以後大家都不用標點符號了。
同樣給乙個簡單的例子:
result = %w
puts "result is: #, type is:#, length is:#"
結果: result is: helloworld, type is:array, length is:2
%s用於生成乙個符號物件
直接先上**:
result = %s
puts "result is: #, type is:#"
sym = :"hello world"
puts "the two symbol is the same: #"
結果:
result is: hello world, type is:symbol
the two symbol is the same: true
可以看出,這兩中方式生成的symbol物件完全一樣
%x用於執行string所代表的命令
特殊用法 百分號 井號
為了完整起見,我這裡再用一些例子加以說明 的一些特異功能 假設我們定義了乙個變數為 file dir1 dir2 dir3 my.file.txt 我們可以用 分別替換獲得不同的值 拿掉第一條 及其左邊的字串 dir1 dir2 dir3 my.file.txt 拿掉最後一條 及其左邊的字串 my....
Ruby 中一些百分號( )的用法小結
q用於替代雙引號的字串.當你需要在字串裡放入很多引號時候,可以直接用下面方法而不需要在引號前逐個新增反斜槓 複製 如下 q joe said frank said joe said frank said hello 也可用其他非數字字母的符號或成對的符號代替,諸如 等.以下寫法全部與上面等效 複製 ...
Ruby 中一些百分號( )的用法小結
q 用於替代雙引號的字串.當你需要在字串裡放入很多引號時候,可以直接用下面方法而不需要在引號前逐個新增反斜槓 複製 如下 q joe said frank said joe said frank said hello 也可用其他非數字字母的符號或成對的符號代替,諸如 等.以下寫法全部與上面等效 複製...