Ruby中string運算 methods

+
puts "first" + "second"
顯示
firstsecond

*
puts "first"*3
顯示
firstfirstfirst

<< 組合concatenate
puts "first"<<"second"<<"third"
顯示
firstsecondthird

<<與+的差異在於
1st_string = "first"
2nd_string = "second"

puts 1st_string + 2nd_string
puts 1st_string
puts 2nd_string
顯示
firstsecond

而puts 1st_string << 2nd_string
puts 1st_string
puts 2nd_string
顯示
firstsecond
firstsecond
second
用<<會將後者的string內容組合到前者的字串後端

在Ruby中的string其實被看待為array,因此array的method都可拿來用

str="abcde"
puts str[0]
puts str[1]
顯示
a
b

記憶體中分配的函數是字串中的ASCII號碼(DEC格式),使用puts的時候則會顯示出字元,所以在Ruby1.9環境的IRB中會看到ASCII的號碼,但到了Ruby2.0之後的IRB則是顯示字元

gets 等待鍵盤輸入分配
gets.chomp 等待鍵盤輸入分配後,去除前後端空白與分行值
gets.chop 等待鍵盤輸入分配後,去除後端空白與分行值
inspect會用""顯示字串中包含escape符號&特殊字元的完整字串資訊
include?("test string") 檢查是否包含字串"test string"
replace("replacement")會重新分配字串覆蓋原始值
index("partial")計算出partial example在字串中的序列位置
reverse 反轉字串中序列順序
upcase 全大寫
downcase 全小寫
swapcasee 改變大小寫狀態
length 計算string中的字元數,包含空白
size 計算string中的字元數,包含空白
split(" ")可用" "空白來分組Array中的成員,預設為"",也可改用","來拆csv等檔案
concat()跟<<一樣,在後方組合string

而在這些medhod後面加上!會永久改變參數值,!稱為Bang method

original_string = "original"
puts original_string.reverse
puts original_string
original_string.reverse!
puts original string
顯示
lanigiro
original
lanigiro


留言