Issue #16894 has been updated by sawa (Tsuyoshi Sawada).


jzakiya (Jabari Zakiya) wrote in #note-7:
> Ruby already has ``a.div b`` for explicit integer division.

Thanks, I had forgotten about that. But while the remainder can be achieved by the infix operator `%`, it would be strange if there is no infix operator for getting the quotient.

> Crystal v0.31 switched to ``a // b``, so now ``9 // 2 = 4`` and ``9 / 2 = 4.5``.
> 
> Python, et al, also use ``//``.

That may be acceptable if it does not conflict with current syntax.

But overall, my impression is that it does not worth the change. Integer division is taught at elementary school (contrary to what ankane describes), and is such a basic operation (perhaps contrary to what ankane feels).

----------------------------------------
Feature #16894: Integer division for Ruby 3
https://bugs.ruby-lang.org/issues/16894#change-85652

* Author: ankane (Andrew Kane)
* Status: Open
* Priority: Normal
* Assignee: matz (Yukihiro Matsumoto)
----------------------------------------
Hi Ruby team,

It'd be great if division in Ruby matched what we all learned in school.

``` ruby
1 / 2 == 0.5
```

New developers wouldn't immediately be confused when they try to do division and experienced developers could stop adding to_f to their code (typically after they get tripped up on the first run). In my experience, floating point division is way more common than floor division. This could definitely break existing code, so I understand it's a decision that shouldn't be made lightly. Overall, Ruby is really intuitive, but this is one place where it's not.

It looks like this was considered for Ruby 2.0 as well as few years ago in #5512, so feel free to close if it's not something you'd like to reconsider right now.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>