陣列與字串轉換的方法

許多程式都會想要節省一些資料庫的結構,通常都會用某值代表某狀態。如果經過應用功能的設定就要取代這字串當中的某值,所以要取其中的值來取代。

如果我在資料庫中有某個值是這樣:

101010

該如何將第三位數予以取代成這樣:

103010

以irb溝通範例如下:
[cc lang=”ruby”]
$ irb
ree-1.8.7-2011.03 :001 > val=101010;
ree-1.8.7-2011.03 :002 > str=val.to_s
=> “101010”
ree-1.8.7-2011.03 :003 > arr=str.split(//)
=> [“1”, “0”, “1”, “0”, “1”, “0”]
ree-1.8.7-2011.03 :004 > arr[2]=”3″
=> “3”
ree-1.8.7-2011.03 :005 > arr
=> [“1”, “0”, “3”, “0”, “1”, “0”]
ree-1.8.7-2011.03 :006 > str2=arr.join
=> “103010”
[/cc]

步驟說明:
取出某值Ruby會當做int型別。
用 to_s 函數變成String型別。
用split(//)轉成陣列。
然後在第三位數取換某值如:arr[2]=”3″,記得 3 要是字串型別。
最後用 join 函數從陣列組合成字串

以上做法可以不用code block 以節省程式碼,好看又不跳針~