Ruby yield newbie issue -


i have started using ruby, quite new this. current objective use ruby module called retort, problem don't understand configure method looking this:

def configure config = config.new yield config @@service = xmlrpc::client.new2(config.url) end 

config class simple , looks like:

class config attr_accessor :url end 

i tried create small example play around in order understand how supposed work:

class testclass def test_method config = string.new yield config p config end end d = testclass.new d.test_method { 'test string' } 

of course doesn't return 'test string' empty string.

thank :)

can clearer what's confusing you? code make sense you?

class testclass def test_method config = yield p config end end d.test_method { "test string" } 

the yield statement invokes block. block returns string, assigned config variable in test_method , printed. make clearer?

in code, line yield config invoking block while passing in just-instantiated config object. instance:

def foo s = "a string" yield s p "in foo printing " + s end foo { |x| p "in block printing " + x } 

Comments

Popular posts from this blog

javascript - backbone.js Collection.add() doesn't `construct` (`initialize`) an object -

php - Get uncommon values from two or more arrays -

Adding duplicate array rows in Php -