Ruby學習 數字和字串

2021-08-02 19:50:42 字數 2140 閱讀 6712

1,數字

ruby是乙個完全物件導向的語言,如下圖

可以看出ruby每種數字型別都是乙個物件,並且各個陣列類不需要明確的指出。ruby會根據數字的大小自動轉換。

irb(main):002:0> 3.class #數字的型別

=> fixnum

irb(main):005:0> 10000000000000000000.class

=> bignum

irb(main):007:0> 3.2.class

=> float

irb(main):008:0> 3.even? #是否是偶數

=> false

irb(main):010:0> 3.odd? #是否是奇數

=> true

irb(main):012:0> 3.times #列印三次字串

"love"

"love"

"love"

=> 3

2,數字類的常用方法

#1.2.to_i 浮點數轉成整數

#1.to_f 整數轉成浮點數

#1.to_s

#"1".to_i "1".to_f

#1.5.round 四捨五入

#1.5.ceil = 2

#1.5.floor = 1

具體的數字api用法

3,string

ruby

的字串是mutable

(可變的)就是說字串物件中字串是可變的,但是物件不變。

irb(main):013:0> a = '123'

=> "123"

irb(main):015:0> a[0] = '0'

=> "0"

irb(main):016:0> a

=> "023"

irb(main):017:0> a.object_id

=> 70204366116340 #id

irb(main):018:0> a[1] = '4'

=> "4"

irb(main):019:0> a.object_id

=> 70204366116340 #id是一樣的,說明ruby的字串是mutable

irb(main):020:0> a

=> "043"

4,'', "", %q在字串中的用法

irb(main):022:0> '123' #單引號直接定義乙個字串, 單引號效率上比雙引號快

=> "123"

irb(main):023:0> a = '456'

=> "456"

irb(main):024:0> "123#" #雙引號直接定義乙個字串,可使用 #{} 進行變數的插入操作

=> "123456"

irb(main):025:0> %q("'eweqrqew"'') #無需轉義字元,直接輸出內容

=> "\"'eweqrqew\"''"

irb(main):026:0> a = <

irb(main):027:0" 3232

irb(main):028:0" 3223

irb(main):029:0" 324234

irb(main):030:0" text #定義多行字串

=> "3232\n3223\n324234\n"

5,字串的常用方法

#1. a = string.new("1111") #建立字串

# a.length 字串長度

#a.empty? 字串是否為空

#a.include?(b) a字串包含b

#a==b a字串等於b

具體的stringapi用法

ruby分割字串 Ruby字串

構建方法 str hello world 只允許 與 轉義 str hello world 允許所有轉義和 字串拼接 str q hello world 等同單引號 str q 等同雙引號 str hello world eosstr abc 2 abcabc 索引str abc s str 1 s...

Ruby字串學習筆記

1.追加乙個字串到乙個字串 操作符 2.join 方法可以直接從陣列轉換為字元 test array 1,2,3,4 test array hello puts test array.join 結果輸出 1234hello 陣列的join insert string 方法,只是在中間插入,不在最後插...

ruby字串學習筆記4

1 單獨處理字串的字元 如果處理的是ascii碼的文件使用string each byte 注意 沒有 string each方法,string each byte 速度比 string scan快 string scan用於配合正規表示式時使用 foobar each byte 102 f 111...