# \[QUIZ\] Hello, world? (#158)

**URL:** <https://www.ruby-forum.com/t/quiz-hello-world-158/130757>\
**Category:** Ruby\
**Created:** [March 3, 2008, 3:32am UTC](https://www.ruby-forum.com/t/quiz-hello-world-158/130757 "2008-03-03T03:32:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jameskelly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/3ab097/32.png) [@jameskelly](https://www.ruby-forum.com/u/jameskelly)\
**Post date:** [March 3, 2008, 3:32am UTC](https://www.ruby-forum.com/t/quiz-hello-world-158/130757/1 "2008-03-03T03:32:38Z")

</div>

module Kernel  
def meth(&block)  
o=Object.new  
o.instance\_variable\_set(:@block,block)  
def o.\_\_call(&b)  
@block2=b  
instance\_eval &@block  
end  
def o.yiel  
@block2.call  
end  
o.method(:\_\_call)  
end  
end

meth do  
yiel  
puts “!”  
end.call &(meth do  
proc do  
yiel  
print “d”  
end  
end.call(&meth do  
proc do  
yiel  
print “l”  
end  
end.call(&meth do  
proc do  
yiel  
print “r”  
end  
end.call(&meth do  
proc do  
yiel  
print “o”  
end  
end.call(&meth do  
proc do  
yiel  
print “w”  
end  
end.call(&meth do  
proc do  
yiel  
print " "  
end  
end.call(&meth do  
proc do  
yiel  
print “,”  
end  
end.call(&meth do  
proc do  
yiel  
print “o”  
end  
end.call(&meth do  
proc do  
yiel  
print “l”  
end  
end.call(&meth do  
proc do  
yiel  
print “l”  
end  
end.call(&meth do  
proc do  
yiel  
print “e”  
end  
end.call(&meth do  
print “H”  
end))))))))))))

* * *

I couldn’t find a way to truly make blocks accept blocks. Anyone have  
anything better than my close substitute?

```
  ____________________________________________________________________________________

```

Be a better friend, newshound, and  
know-it-all with Yahoo! Mobile. Try it now.  
[http://mobile.yahoo.com/;\_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ](http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ)
