Bug #7899

Add feature similar to: perl use warnings

Added by Robert A. Heiler about 1 year ago. Updated about 1 year ago.

[ruby-core:52620]
Status:Closed
Priority:Normal
Assignee:-
Category:core
Target version:-
ruby -v:1.9.3p385 Backport:

Description

shevy: It would be nice ruby had a way to enable warnings within the code - like perl's use warnings;

Hi,

Background to this is that maasha had problems with shebang, /usr/bin/env and "ruby -w" as part of the shebangs.

He was able to workaround this by setting RUBYOPT:

shevy: I think the conclusion is that one needs to set: export RUBYOPT=-w

A bit background is here:

http://stackoverflow.com/questions/4303128/how-to-use-multiple-arguments-with-a-shebang-i-e

Now one suggestion is to set $VERBOSE to 2 or true. But I am not sure whether this is the
best or most elegant solution.

Could there be a way to enable and disable warnings globally within a .rb script?

Kernel.enablewarnings
Kernel.disable
warnings

Something like that?

Then users could specifically choose to ignore certain warnings, if they want to (like during development when they dont care about all warnings in every .rb file of a project).

Associated revisions

Revision 39364
Added by Eric Hodel about 1 year ago

  • doc/globals.rdoc: Document what setting $VERBOSE does. [Bug #7899]

  • doc/globals.rdoc: Added pointer to $-w and $-v for full
    documentation.

History

#1 Updated by Eric Hodel about 1 year ago

  • Category set to core
  • Status changed from Open to Closed
  • Priority changed from Low to Normal

Use $VERBOSE or $-w:

$ cat test.rb
"".gsub /x/, ''
$ ruby19 -wv test.rb
ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-darwin12.2.1]
test.rb:1: warning: ambiguous first argument; put parentheses or even spaces

$ cat test.rb
$VERBOSE = true
"".gsub /x/, ''
$ ruby19 -v test.rb
ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-darwin12.2.1]
test.rb:2: warning: ambiguous first argument; put parentheses or even spaces

$ cat test.rb
$-w = true
"".gsub /x/, ''
$ ruby19 -v test.rb
ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-darwin12.2.1]
test.rb:2: warning: ambiguous first argument; put parentheses or even spaces

I will update documentation in doc/globals.rdoc to better describe the behavior of these two globals.

Also available in: Atom PDF