読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

【プログラミング 55時間目】Rubyの数値型と配列

Ruby
<スポンサーリンク>

たのしいRuby 第3版

たのしいRuby 第3版


たのしいRubyを使って勉強したので、そのまとめ。

■Numericクラス
・整数を表すIntegerクラス
・小数点以下の精度を持つ浮動小数点を表すFloatクラス
有理数を扱うのはRationalクラス
複素数を扱うのはComplexクラス

・べき乗を計算する演算子は「**」

・x.modult(y)は「x % y」と同じ

ruby -e 'puts 3.modulo(2)'
>1

・IntegerオブジェクトをFloatオブジェクトに変換する
→[to_f」メソッドを使う

・FloatオブジェクトをIntegerオブジェクトに変換する
→「to_i」メソッドを使う

・小数点以下を四捨五入する
→「round」メソッドを使う

・乱数を得る
→「rand」メソッドを利用する。

■randメソッド
・引数なし→1未満の浮動小数点数をランダムに返す
・引数あり→0から引数値より小さい範囲の正数値を返す

p rand(100)
52

■数え上げのサンプル
・n回の繰り返し

ary = []

15.times do |i|
	ary << i
end

p ary

結果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

・upto

ary = []
10.upto(20) do |i|
	ary << i
end
p ary

結果

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

その他

from.downto(n) do |i|
	fromからtoに達するまで減算
end

from.step(to,step) |i|
	fromからtoに達するまでstepを足しながら繰り返す
end


■配列
・配列とはインデックスがついたオブジェクトの集まりのこと

#newで新しく配列を作る
a = Array.new

#引数を1つだけ指定した場合は、その引数の分だけnilが格納された配列ができる。
a = Array.new(5)
p a

#引数を2つ指定した場合は1つ目の引数が要素数、2つ目の引数が格納される値となる
a = Array.new(5,0)
p a

結果

[nil, nil, nil, nil, nil]
[0, 0, 0, 0, 0]

■復習
正規表現によるマッチング

/パターン/ =~ マッチングしたい文字列

マッチングが成功した時はマッチした部分の位置を返す。
マッチングが失敗した時はnilを返す。

/mizky/ =~ "mizky"
>0

/mizky =~ "tkk"
>nil

・ファイルからテキストを読み込む

filename = "hoge.txt"
file = open(filename)
text = file.read
print text
file.close

・ファイルからテキストを1行ずつ読み込む

filename = "hoge.txt"
file = open(filename)
while text = file.gets
   print text
end
file.close

getsメソッドは呼ぶたびに1行ずつ取り出し、ファイルを読み込む。
ファイルを最後まで読み込んだらnilを返す。
データが読み込めたら真
データが読み込めなくなったら偽

たのしいRubyが終わったら、次は「作りながら学ぶRuby入門 第2版」をやりたい。
ちょうどいいステップアップになりそう。

作りながら学ぶRuby入門 第2版

作りながら学ぶRuby入門 第2版