ruby - Function executed without being called -
i have function func, , executes automatically; have never called it.
begin { print "start" } *data = gets; test = true in 0...data.length if i==0 print data[i] end if i==0 , !test print "test" else print "uu" end end end { print "end" } def func() print "test1" yield print "test2" end func { print "func block" } output of above code:
startuserinput userinput uutest1func blocktest2end i don't want function executed when call it. can't use function parameters due automatic calling.
func {} calling function func.
why? {} accepting block. can think of blocks arguments.
see how begin , end works.
they got called parameters passed in (via blocks).
Comments
Post a Comment