Ruby學習筆記 4 基本的型別

2021-09-30 07:59:14 字數 3447 閱讀 1444

123_456     >>>  123456    # 下劃線被忽略了

?a                        # character code

?/n # code for a newline (0x0a)

?/c-a # control a = ?a & 0x9f = 0x01

?/m-a # meta sets bit 7

?/m-/c-a # meta and control a

?/c-? # delete character

# 單引號://表示乙個/,/『表示乙個單引號'。

'escape using "//"' » escape using "/"

'that/'s right' » that's right

# 雙引號:支援類似於shell的變數替換,使用#的格式。

"seconds/day: #" » seconds/day: 86400

"#merry christmas" » ho! ho! ho! merry christmas

"this is line #$." » this is line 3

# %q和%q:當後面跟的是} » seconds/day: 86400

# here documents: 這個和shell的用法是一樣的。

astring = <(other)

self.volume <=> other.volume

enddef succ

raise(indexerror, "volume too big") if @volume >= 9

vu.new(@volume.succ)

endend

# range作為條件表示式來使用(這個現在還不太明白)

while gets

print if /start/../end/

end# range作為interval的用法(也就是看某個元素是否在乙個區間之內)

(1..10) === 5 » true

(1..10) === 15 » false

a = regexp.new('^/s*[a-z]')   	»  	 /^/s*[a-z]/  # 直接使用類的new方法

b = /^/s*[a-z]/ » /^/s*[a-z]/ # 使用//literal

c = %r » /^/s*[a-z]/ # 使用%r{}的方式

a = "fats waller"

a =~ /a/ » 1

a =~ /z/ » nil

a =~ "ll" » 7

# 主要的區別在於如果字串中包含/n(換行符)

showre("this is/nthe time", /^the/) » this is/n<> time

showre("this is/nthe time", /is$/) » this <>/nthe time

showre("this is/nthe time", //athis/) » <> is/nthe time

showre("this is/nthe time", //athe/) » no match

character class abbreviations

sequence as [ ... ] meaning

/d [0-9] digit character

/d [^0-9] nondigit

/s [/s/t/r/n/f] whitespace character

/s [^/s/t/r/n/f] nonwhitespace character

/w [a-za-z0-9_] word character

/w [^a-za-z0-9_] nonword character

#注意,'.'號在regexp裡面一般是匹配除了/n之外的任何字元,除非是在multiline的模式下。

r  *   	matches zero or more occurrences of r.

r + matches one or more occurrences of r.

r ? matches zero or one occurrence of r.

r matches at least ``m'' and at most ``n'' occurrences of r.

r matches at least ``m'' occurrences of r.

showre("the moon is made of cheese", //s.*?/s/)   	»  	 the<< moon >>is made of cheese

a = 'red ball blue sky'

showre(a, /blue|red/) » <> ball blue sky

showre(a, /(blue|red) /w+/) » <> blue sky # 注意這裡如果不用括號的話,那麼就是匹配blue或者red /w+。

"12:50am" =~ /((/d/d):(/d/d))(..)/   	»  	 0  #這裡第乙個(是最外層的,所以$1是指整個時間。

"time is #$1" » "time is 12:50"

"hour is #$2, minute #$3" » "hour is 12, minute 50"

"am/pm is #$4" » "am/pm is am"

# 重複匹配的例子

showre('he said "hello"', /(["']).*?/1/) » he said <<"hello">>

a = "the quick brown fox"

a.sub(/^./) » "the quick brown fox"

a.gsub(/[aeiou]/) » "the quick brown fox"

/1, /2, /3 .... (first match, second match, third match, ...)

/& (last match)

/+ (last matched group)

/` (string prior to match)

/' (string after match)

// (a literal backslash).

Python學習筆記 4 基本的資料型別

python是一門物件導向的語言,所以應該有物件型別。但是為了使用方便呢,肯定也有基本的資料型別,大體有以下五種吧,依次說明下。這個真的很簡單哦,就是負無窮到正無窮之間的整數,比如 2 1 0 1 2等等。簡單的測試下就是print 1 注意在python 3.6 64 bit 中直接輸入1然後按回...

ruby字串學習筆記4

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

ruby的基本型別 二

陣列常見運算方法 追加元素 例如 1,2 3 返回 1,2,3 串聯方法 合併兩個陣列 例如 1,2 3,4 返回 1,2,3,4 陣列差集 刪除比較陣列中出現的元素 例如 1,2,3 3,4 返回 1,2 陣列交集 例如 1,2,3 3,4 返回 3 陣列並集 例如 1,2,3 3,4 返回 1,...