From: Malcolm Lockyer Date: 2007-11-08T06:19:07+09:00 Subject: Re: define_method Hey, thanks for the replies guys, I am pretty noob with ruby so thanks for your help. Yes Robert, that wasn't my use case - that was just the most simplified code that shows the problem I was having. I didn't want to bore you all with loads of irrelevant code. If you are interested I was trying to build a dynamic enumeration style class (vaguely similar to java or c#'s way of doing it), where I could have the pseudo constant (i.e. TestClass.Blue, TestClass.Red etc.) setup by calling the constructor something like TestClass.new(:Blue => 1, :Red => 2 etc.) and also be able to iterate through the keys and stuff. Anyway, thanks again for your help guys. Malcolm On 11/8/07, Malcolm Lockyer wrote: > Hey, thanks for the replies guys, I am pretty noob with ruby so thanks > for your help. > > Yes Robert, that wasn't my use case - that was just the most > simplified code that shows the problem I was having. I didn't want to > bore you all with loads of irrelevant code. If you are interested I > was trying to build a dynamic enumeration style class (vaguely similar > to java or c#'s way of doing it), where I could have the pseudo > constant (i.e. TestClass.Blue, TestClass.Red etc.) setup by calling > the constructor something like TestClass.new(:Blue => 1, :Red => 2 > etc.) and also be able to iterate through the keys and stuff. > > > Anyway, thanks again for your help guys. > Malcolm > > On 11/8/07, Robert Klemme wrote: > > 2007/11/7, Malcolm Lockyer : > > > Hi Guys, > > > > > > I am trying to use define_method like: > > > > > > class TestClass > > > def initialize > > > define_method("hello") { || puts "Hello" } > > > end > > > end > > > > > > x = TestClass.new > > > x.hello > > > > > > I am always getting: > > > NoMethodError: undefined method `define_method' > > > > > > Do I need to require something? Am I doing something wrong, or am I > > > completely missing the boat!? > > > > Is this really your use case? Since you know which method you define, > > you can do it with a normal def anyway. So I suspect that you are > > doing something else. What exactly is it? > > > > Kind regards > > > > robert > > > > -- > > use.inject do |as, often| as.you_can - without end > > > > >