[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

write a method to every possible class

oguzaltu

3/25/2009 9:21:00 AM

I have a function like this:

def fun(ob)
return a_modified_version_of_ob
end

Of course, if I have an object instance 'obis', I need to call it
like
fun(obis)
I want to be able to call like obis.fun
And I want to be able to do that all object types
Possible?

Thx...
2 Answers

Heesob Park

3/25/2009 9:47:00 AM

0

Hi,

2009/3/25, oguzaltu@gmail.com <oguzaltu@gmail.com>:
> I have a function like this:
>
> def fun(ob)
> return a_modified_version_of_ob
> end
>
> Of course, if I have an object instance 'obis', I need to call it
> like
> fun(obis)
> I want to be able to call like obis.fun
> And I want to be able to do that all object types
> Possible?
>
You can define fun method under Object class like this:
class Object
def fun
# p self
return a_modified_version_of_self
end
end

Regards,

Park Heesob

Jesús Gabriel y Galán

3/25/2009 9:57:00 AM

0

On Wed, Mar 25, 2009 at 10:21 AM, <oguzaltu@gmail.com> wrote:
> I have a function like this:
>
> def fun(ob)
> return a_modified_version_of_ob
> end
>
> Of course, if I have an object instance 'obis', I need to call it
> like
> fun(obis)
> I want to be able to call like obis.fun
> And I want to be able to do that all object types
> Possible?
>
> Thx...

irb(main):010:0> class Object
irb(main):011:1> def fun
irb(main):012:2> @modified_flag = true #example of changing the object
irb(main):013:2> self
irb(main):014:2> end
irb(main):015:1> end
=> nil
irb(main):018:0> a = "abc".fun
=> "abc"
irb(main):019:0> a.instance_variables
=> ["@modified_flag"]
irb(main):020:0> class X
irb(main):021:1> end
=> nil
irb(main):022:0> X.new.fun
=> #<X:0xb7c0d318 @modified_flag=true>
irb(main):023:0>

Hope this helps,

Jesus.




>
>