[#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:03554] Re: function objects?

From: gotoken@... (GOTO Kentaro)
Date: 2000-06-20 10:42:37 UTC
List: ruby-talk #3554
Hi, 

This message is off topic, perhaps.  Consider as FYI :-)

In message "[ruby-talk:03541] function objects?"
    on 00/06/19, Johann Hibschman <johann@physics.berkeley.edu> writes:
>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?

Well, I would write it without function objectization:

  Num::integrate(a, b){|x| f(x)}

because it seems to fit for physicist's notation:

  / b
  |   dx f(x)
  / a

The following shows a simple definition. 

  module Num
    def integrate(from, to, n = 1000)
      from, to = from.to_f, to.to_f
      dx = (to-from)/n
      x = from+dx/2     # mid point method
      sum = 0.0

      n.times do
        sum += yield(x)
        x += dx
      end

      return sum*dx
    end

    module_function :integrate
  end

  include Math, Num
  p integrate(0,PI/2){|x| cos(x)}  #=> 1.000000103

-- gotoken

In This Thread