[#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:03131] Re: Is divmod dangerous?

From: gotoken@... (GOTO Kentaro)
Date: 2000-06-06 17:26:34 UTC
List: ruby-talk #3131
In message "[ruby-talk:03125] Re: Is divmod dangerous?"
    on 00/06/06, Dave Thomas <Dave@thomases.com> writes:
>> |                         Ruby                   Python
>> |   a     b  |   a/b   a%b  a.remainder(b) |    a/b      a%b
>> |============|=============================|=================
>> |  13     4  |    3     1       1          |     3        1   
>> |  13    -4  |   -3    -3       1          |    -4       -3
>> | -13     4  |   -3     3      -1          |    -4        3
>> | -13    -4  |    3    -1      -1          |     3       -1
>> |
>> |Why do we care, you ask?
>> 
>> Ruby basicly follows R5RS of Scheme.  / works as quotient, % works as
>> modulo, remainder works as remainder.  And divmod returns array of
>> [quotient, modulo].  Maybe divrem should be defined.
>> 
>> If this behavior raises any confusion, I'd like to change iff
>> consensus is made.
>
>It seems as if changing division so that 13/-4 -> -4 is a popular
>option, perhaps keeping the current behavior as a new method. a%b
>would then become a synonym for a.remainder(b).

At first, [a/b, a/%] (== a.divmod) can be considered equivalent to
div(a,b) in C language. Fortran's / and MOD too. I think, however,
these symmetry wrt 0 is not convenient even in numerical experiments.
Sometimes we physicists prefer both of quotient and modulo periodic
functions wrt numerator and denominator, i.e., for numerator a and
denominator b,

  quotient q := floor(a/b)
  modulo   m := a - b*q

where I means mathematical operators by floor and /. 

But, I don't feel that Ruby's operators is not necessary to change; 
their definitions are well reasonable.  

-- gotoken

In This Thread