0Pricing
Ruby Academy · レッスン

Yieldとブロックの渡し方

yieldキーワードと、メソッドにブロックを動的に渡す方法を学びます

「Yieldとブロックの渡し方」はCoddyKit上の無料Ruby Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはRuby Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ruby Academyコースには全3レッスンが含まれています。

yieldとブロックの受け渡し

yieldとブロックの受け渡し

Rubyでは、yieldキーワードを使ってメソッドにブロックを渡せます。

このレッスンでは、yieldを使ってメソッド内でブロックを実行する方法を学びます。

Yieldとブロックの渡し方 — イラスト1

yieldの使い方

yieldの使い方

yieldキーワードは、メソッドに渡されたブロックを実行します。

def greet
  puts 'Before yield'
  yield
  puts 'After yield'
end

greet { puts 'Hello from the block!' }

yieldで引数を渡す

yieldで引数を渡す

yieldキーワードを使って、ブロックに引数を渡せます。

def square(num)
  yield num * num
end

square(4) { |result| puts "Square: #{result}" }

ブロックが渡されているか確認する

ブロックが渡されているか確認する

block_given?を使うと、メソッドにブロックが渡されたかどうかを確認できます。

def greet
  if block_given?
    yield
  else
    puts 'No block given'
  end
end

greet

greet { puts 'Hello from block!' }

&blockでブロックを渡す

&blockでブロックを渡す

&blockを使うと、ブロックを引数として明示的に渡せます。

def execute_block(&block)
  block.call if block
end

execute_block { puts 'Block executed!' }

yieldを複数回使う

yieldを複数回使う

メソッドでは、yieldを複数回呼び出せます。

def repeat(times)
  times.times { yield }
end

repeat(3) { puts 'Hello!' }

ブロックをProcとして渡す

ブロックをProcとして渡す

ブロックをProcに変換して、引数として渡せます。

def execute_proc(proc)
  proc.call
end

my_proc = Proc.new { puts 'Proc executed!' }
execute_proc(my_proc)

Lambdaをブロックとして使う

Lambdaをブロックとして使う

ブロックの代わりにLambdaを使用できます。

def execute_lambda(lmbd)
  lmbd.call
end

my_lambda = -> { puts 'Lambda executed!' }
execute_lambda(my_lambda)

おめでとうございます!

おめでとうございます!

Rubyでyieldを使ってブロックを渡す方法を学びました。

次は、コレクションの操作について学びます。

Yieldとブロックの渡し方 — イラスト10

よくある質問

「Yieldとブロックの渡し方」レッスンは無料ですか?

はい。「Yieldとブロックの渡し方」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ruby Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ruby Academyコースには全3レッスンが含まれています。

「Yieldとブロックの渡し方」で何を学びますか?

yieldキーワードと、メソッドにブロックを動的に渡す方法を学びます ブラウザで直接実行するハンズオンコードでRuby Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ruby Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのRuby Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「Yieldとブロックの渡し方」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このRuby Academyレッスンでコードを書いて実行できますか?

はい。すべてのRuby Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. メソッドの定義
  2. ブロック、Proc、Lambda
  3. Yieldとブロックの渡し方
← Ruby Academyに戻る