# Lambda for block

**URL:** <https://www.ruby-forum.com/t/lambda-for-block/107774>\
**Category:** Development\
**Created:** [June 26, 2007, 3:07am UTC](https://www.ruby-forum.com/t/lambda-for-block/107774 "2007-06-26T03:07:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [June 26, 2007, 3:07am UTC](https://www.ruby-forum.com/t/lambda-for-block/107774/1 "2007-06-26T03:07:07Z")

</div>

e$B0J2\<$N$h$&$K!"%V%m%C%/$Ke(B lambda e$B$rEO$9$H!"0z?t$N?t$,0c$C$F$$e(B  
e$B$F$b%(%i!\<$K$J$j$^$;$s!#e(B

% ./ruby -ve ’  
def m(&b)  
b.call(&lambda {|x| p x })  
end  
m {|&b| p b; b.call(1,2,3) }’  
ruby 1.9.0 (2007-06-26 patchlevel 0) [i686-linux]  
#Proc:0xb7cded50@-e:3  
1

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [June 29, 2007, 9:49am UTC](https://www.ruby-forum.com/t/lambda-for-block/107774/2 "2007-06-29T09:49:48Z")

</div>

e$B!!$5$5$@$G$9!#e(B

Tanaka A. wrote:

> 1  
> e$B!!e(BProc e$B%_%V%8%’%/%He(B (A) e$B$GEO$5$l$?%V%m%C%/$re(B Proc  
> e$B%_%V%8%’%/%He(B  
> e$B$G\<u$1$k$H$-$O!"$=$Ne(B (A) e$B$r$=$N$^$^EO$9$h$&$KJQ99$7$^$7$?!#e(B

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [July 3, 2007, 10:07pm UTC](https://www.ruby-forum.com/t/lambda-for-block/107774/3 "2007-07-03T22:07:30Z")

</div>

e$B!!$5$5$@$G$9!#e(B

SASADA Koichi wrote:

> e$B!!e(BProc e$B%_%V%8%’%/%He(B (A) e$B$GEO$5$l$?%V%m%C%/$re(B Proc e$B%_%V%8%’%/%He(B  
> e$B$G\<u$1$k$H$-$O!"$=$Ne(B (A) e$B$r$=$N$^$^EO$9$h$&$KJQ99$7$^$7$?!#e(B

e$B!!AGKQ$J5?Ld$J$s$G$9$,!"e(B

a = Proc.new{}  
def m  
Proc.new  
end  
b = m(&a)

puts [a, b].map{|e| e.object\_id}

e$B!!$H$d$C$?$H$-!"e(Ba == b e$B$H$J$j$^$9!#e(Bproc e$B$de(B lambda  
e$B$J$iG\<F@$N5se(B  
e$BF0$J$N$G$9$,!“e(BProc.new  
e$B$H$$$&!”!V?7$7$$%$%s%9%?%s%9$r:n$k!W$he(B  
e$B$&$J5$$,$9$k%a%=%C%IL\>$G$3$N5sF0$O$I$&$J$s$G$7$g$&$+!#e(B1.8, 1.9  
e$B$GF1$8F0:n$r$7$^$9!#e(B

e$B!!e(B1.9 e$B$G$Oe(B Proc.new e$B$He(B proc  
e$B$,A4$/F1$85sF0$r$9$k$N$G!"$3$&$$$&e(B  
e$B7k2L$K$J$j$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [July 4, 2007, 1:01am UTC](https://www.ruby-forum.com/t/lambda-for-block/107774/4 "2007-07-04T01:01:51Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:31129] Re: lambda for block”  
on Wed, 4 Jul 2007 05:06:26 +0900, SASADA Koichi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
writes:

|e$B!!AGKQ$J5?Ld$J$s$G$9$,!"e(B  
|  
|a = Proc.new{}  
|def m  
| Proc.new  
|end  
|b = m(&a)  
|  
|puts [a, b].map{|e| e.object\_id}  
|  
|e$B!!$H$d$C$?$H$-!“e(Ba == b e$B$H$J$j$^$9!#e(Bproc e$B$de(B lambda e$B$J$iG\<F@$N5se(B  
|e$BF0$J$N$G$9$,!“e(BProc.new e$B$H$$$&!”!V?7$7$$%$%s%9%?%s%9$r:n$k!W$he(B  
|e$B$&$J5$$,$9$k%a%=%C%IL\>$G$3$N5sF0$O$I$&$J$s$G$7$g$&$+!#e(B1.8, 1.9  
|e$B$GF1$8F0:n$r$7$^$9!#e(B  
|  
|e$B!!e(B1.9 e$B$G$Oe(B Proc.new e$B$He(B proc e$B$,A4$/F1$85sF0$r$9$k$N$G!”$3$&$$$&e(B  
|e$B7k2L$K$J$j$^$9!#e(B

e$B0l=VG:$\_$^$7$?$,!"\<BMx$NJ}$,Bg$-$=$&$J$N$G!V$=$l$G$h$$!W$H$7e(B  
e$B$^$7$g$&!#e(B
