[ruby/irb] Support --noscript option to not use first non-option argument as script
Also add --script option to turn the option back on.
Previously there wasn't a way to get an interactive IRB session
and access arguments provided on the command line.
Additionally, handle - as script as stdin. In Unix-like tools, -
means to take standard input instead of a file. This doesn't
result in exactly the same output for:
echo 'p ARGV' > args.rb; irb args.rb a b c
and
echo 'p ARGV' | irb - a b c
Due to how irb handles whether stdin is a tty.
However, this change allows use of - as a argument, instead of
giving an unrecognized switch error. This required some small
changes to context.rb (to handle - as standard input) and
input-method.rb (to have FileInputMethod accept IO arguments in
addition to strings).
[ruby/irb] Support --noscript option to not use first non-option argument as script
Also add --script option to turn the option back on.
Previously there wasn't a way to get an interactive IRB session
and access arguments provided on the command line.
Additionally, handle
-
as script as stdin. In Unix-like tools,-
means to take standard input instead of a file. This doesn't
result in exactly the same output for:
and
Due to how irb handles whether stdin is a tty.
However, this change allows use of
-
as a argument, instead ofgiving an unrecognized switch error. This required some small
changes to context.rb (to handle
-
as standard input) andinput-method.rb (to have FileInputMethod accept IO arguments in
addition to strings).
Implements [Feature #15371]
https://github.com/ruby/irb/commit/4192683ba2