#!/usr/bin/env ruby # This code comes from http://ruby-it.org/pages/Forma+Lambda # Check the page for copyright notice and explanations array.each { |argomenti| codice } def f(argomenti) codice end for i in array f(i) end oggetto= lambda {|args| codice} >> def esponenziale(num) >> proc { num=num*num } >> end => nil >> b=esponenziale(2) => # >> a=esponenziale(3) => # >> a.call => 9 >> b.call => 4 >> a.call => 81 >> a.call => 6561 >> b.call => 16 >> def add_sub(default) >> return proc {default+=1},proc {default-=1} >> end => nil >> add,sub=add_sub(10) => [#, #] >> add => # >> add.call => 11 >> sub.call => 10 >> sub.call => 9 >> add.call => 10 >> add.call => 11 >> add.call => 12 >> sub.call => 11 Thread.new { codice }