Next Previous Contents

24. <3.3.2.2>: Proc-objekter

Et Proc-objekt innkapsler som oftest en block.

De kan lages via Proc.new, nøkkelordene proc og lambda, eller via bruk av & prefikset i argumentlista til metode-definisjonen.

  1| # Lager ett Proc-objekt av en block.
  2| p = proc {|i| 
  3|   puts "Hei #{i}!" 
  4| }
  5| 
  6| # Vi kan kalle Proc'en eksplisitt...
  7| p.call('Jens') #=> "Hei Jens!"
  8| 
  9| # Bruke den som block...
 10| [1,2,3].each( &p ) 
 11| 
 12| # & prefikset gjør en evt. block om til et Proc-objekt.
 13| def tar_block( a, &block )
 14|   block.call( a )
 15| end
 16| 
 17| tar_block(5){|b| 
 18|   puts  "Hallo #{b}."
 19| } #=> "Hallo 5."


Next Previous Contents