.save

セーブがしたいんです…

ruby silver 勉強記録 (7日目)

・?A

 「?」に一文字足すと、その文字自身を一文字だけ含む文字列オブジェクトを返す。

 p ?A

# => "A"

 

・配列

位置と数

array[index, length]

引数に整数2つ(indexlength)を指定したときは、indexの位置からlength個の要素を取り出して、配列で返します。indexが範囲外のときはnilを返します。また、indexが要素の数と同じときは空の配列を返します。

引数indexにマイナスの値を指定したときは、配列の末尾から数えます(-1が後ろから1番目、-2が後ろから2番目、...)。

animals = ["dog", "cat", "mouse", "rabbit", "horse"]
p animals[1, 3]   # 2番目から3個
p animals[-3, 2]  # 末尾から3番目から2個
p animals[5, 3]   # index == 要素数
["cat", "mouse", "rabbit"]
["mouse", "rabbit"]
[]

範囲

array[range]

引数に範囲rangeを指定すると、その範囲の位置から要素を取り出して、配列で返します。rangeが配列の範囲外のときはnilを返します。また、rangeの開始位置が要素の数と同じときは空の配列を返します。

rangeにマイナスの値を指定したときは、配列の末尾から数えます(-1が後ろから1番目、-2が後ろから2番目、...)。

animals = ["dog", "cat", "mouse", "rabbit", "horse"]
p animals[2..4]    # 3番目から5番目まで
p animals[2...4]   # 3番目から5番目まで、5番目は含まない
p animals[-4..-2]  # 末尾から4番目..末尾から2番目まで 
["mouse", "rabbit", "horse"]
["mouse", "rabbit"]
["cat", "mouse", "rabbit"]

ref.xaio.jp

 

・join

joinメソッドは、配列の各要素を文字列に変換し、引数sepを区切り文字として結合した文字列を返します。

引数のデフォルト値は組み込み変数$,の値です。$,の初期値はnilなので、引数を省略すると区切り文字なしで要素を結合した文字列になります。

arr = ["hello", "world", 123]
puts arr.join(", ")
puts arr.join
hello, world, 123
helloworld123

配列の中に配列が含まれるときは、平坦化して結合します。

arr = [1, 2, 3, [4, 5], [6, [7, 8]]]
puts arr.join(", ")
1, 2, 3, 4, 5, 6, 7, 8

ref.xaio.jp

 

正規表現

 /で囲む。

 /;

 

・||

 a||b

  trueだった方を返す。