From: nobu@... Date: 2016-02-26T01:01:25+00:00 Subject: [ruby-core:73995] [Ruby trunk Bug#9810] Numeric#step behavior with mixed Float, String arguments inconsistent with documentation Issue #9810 has been updated by Nobuyoshi Nakada. Description updated [Developers' meeting log][1] > This issue is because of invalid type, not mismatch the number of arguments. > Comparison `String` with `Numeric` should raise `TypeError` > > matz: I once thought type mismatch also infringe the contract of arguments, therefore it can be `ArgumentError` but now they should be separated. > > matz: It should raise `TypeError`. [1]: https://docs.google.com/document/d/1rj7ODOCSfcsQeBd6-p-NiVwqxDUg05G66LwDOkKOGTw/pub ---------------------------------------- Bug #9810: Numeric#step behavior with mixed Float, String arguments inconsistent with documentation https://bugs.ruby-lang.org/issues/9810#change-57146 * Author: Brian Shirai * Status: Assigned * Priority: Normal * Assignee: Nobuyoshi Nakada * ruby -v: ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- The `Numeric#step` documentation states: "If any of the arguments are floating point numbers, all are converted to floats..." https://github.com/ruby/ruby/blob/trunk/numeric.c#L1921 Is the following code intended to be described by that documentation? ```ruby 1.1.step(5.1, "1") {} ``` Previously (eg 2.0.0) resulted in a `TypeError`: ``` $ ruby -v -e 'p 1.1.step(5.1, "1") {}' ruby 2.0.0p247 (2013-06-27) [x86_64-darwin13.0.1] -e:1:in `step': no implicit conversion to float from string (TypeError) from -e:1:in `
' ``` In 2.1.1, at least, an `ArgumentError` is raised: ``` $ ruby -v -e 'p 1.1.step(5.1, "1") {}' ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] -e:1:in `>': comparison of String with 0 failed (ArgumentError) from -e:1:in `step' from -e:1:in `
' ``` What's the intended behavior? ---Files-------------------------------- 0001-Update-documentation-on-Numeric-step.patch (1.11 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: