Hi,
can we consider this is a mix-in newbie example ? We are giving a new
feature to method > on our Mixin class.
class Mixin
def initialize(a)
@a = a
end
def >(arg)
puts “Yep!” if @a > arg
end
end
test = Mixin.new(3)
test > 1 # -> Yep!
test.> 1 # -> Yep!
test.>(1) # -> Yep!
puts “Yep, too!” if 2 > 1 # -> Yep, too!
puts “not now!” if teste < 1 # -> *
- undefined method `<’ for #<Mixin:0xb7d35858 @a=3> (NoMethodError)
Works as expected. Thanks,
On Tuesday 07 November 2006 09:35, pedro mg wrote:
puts "Yep!" if @a > arg
- undefined method `<’ for #<Mixin:0xb7d35858 @a=3> (NoMethodError)
Works as expected. Thanks,
I wouldn’t call it Mixin, that could give some conflict with the concept
of
mixins (i.e. modules)
maybe something like that:
class Compare
attr_accessor :a
def initialize a
@a = a
end
def > arg
puts “Yep!” if @a > arg
end
end
^manveru
Em Tue, 07 Nov 2006 09:45:12 +0900, Michael F. escreveu:
end
Thanks. Done
On Tue, 07 Nov 2006 00:33:00 +0000, pedro mg wrote:
puts "Yep!" if @a > arg
- undefined method `<’ for #<Mixin:0xb7d35858 @a=3> (NoMethodError)
Works as expected. Thanks,
Yuck.
if test > 1
puts “Yes”
else
puts “No”
end
will print out
Yep!
No
You need to define the > operator as follows:
def >(arg)
puts “Yep!” if @a > arg
@a > arg
end
so that it returns a proper value
Em Tue, 07 Nov 2006 04:39:06 +0000, Ken B. escreveu:
if test > 1
puts “Yes”
else
puts “No”
end
thanks, this was really just a very simple test in wich i controled the
values.
You need to define the > operator as follows:
def >(arg)
puts “Yep!” if @a > arg
@a > arg
end
so that it returns a proper value
i didn’t even wanted a return value, but you’re right, even the
simple examples look better with a little more effort