From: mame@... Date: 2014-05-10T00:20:52+00:00 Subject: [ruby-core:62487] [ruby-trunk - Bug #7395] [Assigned] Negative numbers can't be primes by definition Issue #7395 has been updated by Yusuke Endoh. Status changed from Closed to Assigned Read the rdoc carefully: > Returns true if +self+ is a prime number, false for a composite. By definition, a composite number can be also a positive integer greater than 1. http://mathworld.wolfram.com/CompositeNumber.html Thus, 1.prime? #=> false 0.prime? #=> false (-1).prime? #=> false looks all buggy (or undefined behavior) to me. If we can change the spec, it would be good to raise an exception, return nil, or at least update the rdoc. Anyway, the maintainer (Yugui) should treat this, I think. -- Yusuke Endoh ---------------------------------------- Bug #7395: Negative numbers can't be primes by definition https://bugs.ruby-lang.org/issues/7395#change-46651 * Author: Zachary Scott * Status: Assigned * Priority: Normal * Assignee: Yuki Sonoda * Category: lib * Target version: current: 2.2.0 * ruby -v: 2.0.0 * Backport: ---------------------------------------- from github: https://github.com/ruby/ruby/pull/187 By definition, a prime number can be a positive integer greater than 1. http://mathworld.wolfram.com/PrimeNumber.html ---Files-------------------------------- prime_refute_negative_numbers.patch (1.16 KB) -- https://bugs.ruby-lang.org/