ihatov08 blog

プログラミング初心者だけどRailsとSwiftマスターします

Ruby

Rubyのputsメソッド、printメソッドはto_sメソッドを定義すると

改訂3版基礎 Ruby on Rails (KS IMPRESS KISO SERIES)でどうしてもわからないことがあった。 untitled.rb class Robot def initialize(name) @name = name @x = @y = 0 end def move(x,y) @x += x; @y += y end def to_s "#{@name}: #{@x},#{@y}" end end ro…

2から10までの数字を変数aryに配列で格納してください。

模範解答はこちら

ブロックの中にnextを用いる

1から10までの和を取得するtotalメソッド。 もし、2で割り切れなければnextでブロックのその回の実行を中断している。 中断するのはその回だけなので、続きはそのまま実行される。 すなわち1から10までの偶数のみの和を返す。 next 0のように引数を与…

ブロックの実行を制御

num = 4までの結果が返ってきそうだが、ブロックの中でbreakを呼ぶと、ブロックつき呼び出しの場所まで一気に戻ってくるので、totalメソッドの中の計算の結果を返す処理などがすべて飛ばされてしまう。

ブロック変数に複数の引数を渡す

ブロック変数の使い方

ブロック変数を使うと、ある範囲の引数に同じ処理を施せるんだな。 例は、1から10までの和 1から10までの2乗の値の和 を出力している。