[#3109] Is divmod dangerous? — Dave Thomas <Dave@...>

14 messages 2000/06/06

[#3149] Retrieving the hostname and port in net/http — Roland Jesse <jesse@...>

Hi,

12 messages 2000/06/07

[#3222] Ruby coding standard? — Robert Feldt <feldt@...>

16 messages 2000/06/09

[#3277] Re: BUG or something? — Aleksi Niemel<aleksi.niemela@...>

> |I am new to Ruby and this brings up a question I have had

17 messages 2000/06/12
[#3281] Re: BUG or something? — Dave Thomas <Dave@...> 2000/06/12

Aleksi Niemel<aleksi.niemela@cinnober.com> writes:

[#3296] RE: about documentation — Aleksi Niemel<aleksi.niemela@...>

> I want to contribute to the ruby project in my spare time.

15 messages 2000/06/12

[#3407] Waffling between Python and Ruby — "Warren Postma" <embed@...>

I was looking at the Ruby editor/IDE for windows and was disappointed with

19 messages 2000/06/14

[#3410] Exercice: Translate into Ruby :-) — Jilani Khaldi <jilanik@...>

Hi All,

17 messages 2000/06/14

[#3415] Re: Waffling between Python and Ruby — Andrew Hunt <andy@...>

>Static typing..., hmm,...

11 messages 2000/06/14

[#3453] Re: Static Typing( Was: Waffling between Python and Ruby) — Andrew Hunt <andy@...>

32 messages 2000/06/16

[#3516] Deep copy? — Hugh Sasse Staff Elec Eng <hgs@...>

Given that I cannot overload =, how should I go about ensuring a deep

20 messages 2000/06/19

[#3694] Why it's quiet — hal9000@...

We are all busy learning the new language

26 messages 2000/06/29
[#3703] Re: Why it's quiet — "NAKAMURA, Hiroshi" <nahi@...> 2000/06/30

Hi,

[#3705] Re: Why it's quiet — matz@... (Yukihiro Matsumoto) 2000/06/30

Hi,

[ruby-talk:03543] Re: function objects?

From: Dave Thomas <Dave@...>
Date: 2000-06-20 05:02:07 UTC
List: ruby-talk #3543
Johann Hibschman <johann@physics.berkeley.edu> writes:

> I read in one of the descriptions of the language that Ruby does not
> have first-class functions.  Is this true?  And, if so, what does Ruby
> have which makes this livable?

Yes and no. A method is not an object per se, but it's easy to make a
method into a callable object:

  # Define a class with a single method
  class Dave
    def myMethod(param)
       param*param
    end
  end

  # create an instance of the class
  dave = Dave.new

  # get a method object for the method
  m = dave.method(:myMethod)

  # Now call that method
  1.upto(4) {|i| puts m.call(i)}      #-> 1 4 9 16



The key thing is that a method object must be associated with a class
instance (an object).

> As a concrete example, what would I do if I wanted a numeric
> integration function, like
> 
>   integrate(f, x_min, x_max) -> the integral of f(x)
> 
> and, say, I wanted to pass it a method of a class as the function to
> integrate?

    integrate(obj.method(:function), x_min, x_max)



Hope this makes sense.


Regards


Dave



In This Thread