Skip to content

Instantly share code, notes, and snippets.

@postmodern
Last active November 17, 2016 04:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save postmodern/36ee5672aac8f45b882a181c057837f5 to your computer and use it in GitHub Desktop.
Save postmodern/36ee5672aac8f45b882a181c057837f5 to your computer and use it in GitHub Desktop.
Ruby 2.3 quirk in irb, pry, ripl (see https://twitter.com/josh_cheek/status/798658490235580416)
$ cat test.rb | \irb
Switch to inspect mode.
true if 0...1
(irb):1: warning: integer literal in conditional range
(irb):1: warning: integer literal in conditional range
nil
true if 1..2
(irb):2: warning: integer literal in conditional range
(irb):2: warning: integer literal in conditional range
nil
$ cat test.rb | \pry
[1] pry(main)> true if 0...1
(pry):1: warning: integer literal in conditional range
(pry):1: warning: integer literal in conditional range
=> nil
[2] pry(main)> true if 1..2
(pry):2: warning: integer literal in conditional range
(pry):2: warning: integer literal in conditional range
=> nil
[3] pry(main)>
$ cat test.rb | \ripl
>> true if 0...1
(ripl):1: warning: integer literal in conditional range
(ripl):1: warning: integer literal in conditional range
=> nil
>> true if 1..2
(ripl):2: warning: integer literal in conditional range
(ripl):2: warning: integer literal in conditional range
=> nil
>>
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
$ \irb
irb(main):001:0> true if 0...1
(irb):1: warning: integer literal in conditional range
(irb):1: warning: integer literal in conditional range
=> nil
irb(main):002:0> true if 1..2
(irb):2: warning: integer literal in conditional range
(irb):2: warning: integer literal in conditional range
=> true
irb(main):003:0>
$ \pry
[1] pry(main)> true if 0...1
(pry):1: warning: integer literal in conditional range
(pry):1: warning: integer literal in conditional range
=> nil
[2] pry(main)> true if 1..2
(pry):2: warning: integer literal in conditional range
(pry):2: warning: integer literal in conditional range
=> nil
[3] pry(main)>
$ \ripl
>> true if 0...1
(ripl):1: warning: integer literal in conditional range
(ripl):1: warning: integer literal in conditional range
=> nil
>> true if 1..2
(ripl):2: warning: integer literal in conditional range
(ripl):2: warning: integer literal in conditional range
=> nil
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment