タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

rubyとnextに関するmfhamのブックマーク (1)

  • ruby ブロック内からの return - bonar note

    例えば受け取った配列内を一つずつ見ていって偶数の場合のみ puts する、という処理をしようとして以下のようなコードを書いたとします。 def print_evens(nums) nums.each do |num| return if 1 == (num % 2) puts num end end print_evens((1..10).to_a) each に与えられたブロックの最初の行で奇数の場合はブロックの処理を終え(次の num の実行に移り)、そうじゃない場合(偶数の場合)には puts num するという意図ですが、このコードを実行しても何も表示されません。 ブロック内の return で print_evens メソッドそのものを抜けてしまうからです。 意図した動きにするためには return を next に変える必要があります。 def print_evens(nums

    ruby ブロック内からの return - bonar note
  • 1