プロを目指す人のためのRuby入門 その4
第4章 配列や繰り返し処理を理解する
配列
a = [] # サイズを指定 b = Array.new(3) # サイズと初期値を指定 c = Array.new(3, 0)
繰り返し
num = [1, 2, 3, 4] # 0 から 3 まで (0..3).each do |n| puts num[n] end # 3 から 0 まで (3).downto(0) do |n| puts num[n] end
RGB 変換
配列を用いて RGB 変換プログラムを作ります。
class RgbTest < Minitest::Test def test_to_hex assert_equal '#000000', to_hex(0, 0, 0) assert_equal '#ffffff', to_hex(255, 255, 255) end def test_to_inits assert_equal [0, 0, 0], to_ints('#000000') assert_equal [255, 255, 255], to_ints('#ffffff') end end
def to_hex(r, g, b) hex = '#' [r, g, b].each do |n| hex += n.to_s(16).rjust(2, '0') end hex end def to_ints(hex) r, g, b = hex[1..2], hex[3..4], hex[5..6] [r, g, b].map do |s| s.hex end end
本
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)
- 作者: 伊藤淳一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/25
- メディア: 大型本
- この商品を含むブログを見る
感想
競技プログラミングで Ruby を使ってみた感想として、Java よりも文字数が少なくて済むと思いました。計算量の多くないものは実行時間が Java よりも短いんですいが、計算量が多くなると Java の方が早くなりました。実行時間が緩い yukicoder などでは Ruby を積極的に使っていこうとます。
progate と paiza の入門は修了しました。残りは課金が必要みたいです。