From: "Jan E." Date: 2012-08-11T04:36:07+09:00 Subject: Re: Unable to print a block argument. Hi, You're passing the string from Foo.new to the block. I guess you wanted to pass the instance: def self.open(test) x = new test block_given? ? yield(x) : x end -- Posted via http://www.ruby-forum.com/.