user7711283
user7711283

Reputation:

Unexpected return value in Ruby REPL while typing "version"

I am experiencing mysterious return value after accidentally typing "version" in Ruby irb REPL:

~ $ ruby --disable-gems -e "exec 'irb'"
« version
 ˙·˙ ">= 0.a" »
« 

~/.irbrc file content:

# This is the .irbrc configuration file
IRB.conf[:SAVE_HISTORY] = 1000000  # increase the number of commands that can be saved
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-history"
# Set up a DEFAULT prompt for IRB
##  IRB.conf[:PROMPT][:CUSTOM] = {
##    PROMPT_I: "%N(%m):%03n:%i> ",     # Default   showing program name  %N  , main object   %m   , line number   %03n   , and indent level   %i   .
##    PROMPT_S: "%N(%m):%03n:%i%l ",    # Continue  for strings with line and local variable levels
##    PROMPT_C: "%N(%m):%03n:%i* ",     # Continue  for statements
##    RETURN:   "%s\n"                      # Format    of returned values
##  }
# Set up a CUSTOM prompt for IRB
IRB.conf[:PROMPT][:CUSTOM] = {
  PROMPT_I: "« ",
  PROMPT_S: "· ",
  PROMPT_C: "˙ ",
  RETURN:   " ˙·˙ %s »\n"
}
IRB.conf[:PROMPT_MODE] = :CUSTOM
# Additional configurations can be added below
~ $ type version
bash: type: version: not found
~ $ alias version
bash: alias: version: not found
« $VERBOSE = true
 ˙·˙ true »
« ObjectSpace.each_object(Module).select { |m| m.instance_methods.include?(:versi
on) || m.methods.include?(:version) }
 ˙·˙ 
[Gem::UnsatisfiableDependencyError,
 Gem::StubSpecification::StubLine,
 Gem::StubSpecification,
 Gem::SpecificGemNotFoundException,
 Gem::Specification,
 Gem::PlatformMismatch,
 Gem::Version,
 Gem::Platform,
 Gem::BasicSpecification,
 Gem::Resolver::ActivationRequest,
 Gem::Resolver::SpecSpecification,
 Gem::Resolver::Specification,
 Gem::Resolver::IndexSpecification,
 Gem::Resolver::GitSpecification,
 Gem::Resolver::APISpecification,
 Gem::Resolver::VendorSpecification,
 Gem::Resolver::LockSpecification,
 Gem::Resolver::LocalSpecification,
 Gem::Resolver::InstalledSpecification,
 #<Class:IRB>,
 IRB] »
« 
« version
 ˙·˙ ">= 0.a" »
« method(:version).source_location
(irb):2:in `method': undefined method `version' for class `#<Class:#<Object:0x0000557274974488>>' (NameError)
    from (irb):2:in `<main>'
    from /usr/lib/ruby/gems/3.0.0/gems/irb-1.3.5/exe/irb:11:in `<top (required)>'
    from /usr/bin/irb:23:in `load'
    from /usr/bin/irb:23:in `<main>'
« puts RUBY_VERSION
3.0.2
 ˙·˙ nil »
« `version`
(irb):4:in ``': No such file or directory - version (Errno::ENOENT)
    from (irb):4:in `<main>'
    from /usr/lib/ruby/gems/3.0.0/gems/irb-1.3.5/exe/irb:11:in `<top (required)>'
    from /usr/bin/irb:23:in `load'
    from /usr/bin/irb:23:in `<main>'
« 
« puts ENV['version']

 ˙·˙ nil »
« 
« global_variables  # List all global variables
« methods           # List all methods available in the main object context
 ˙·˙ 
[:irb_pushws,
 :pushws,
 :irb_push_binding,
 :irb_pushb,
 :pushb,
 :irb_popws,
 :popws,
 :irb_pop_binding,
 :irb_popb,
 :popb,
 :context,
 :source,
 :jobs,
 :fg,
 :help,
 :conf,
 :ls,
 :measure,
 :show_source,
 :inspect,
 :whereami,
 :to_s,
 :kill,
 :exit,
 :irb_quit,
 :quit,
 :irb_print_working_workspace,
 :irb_cwws,
 :irb_pwws,
 :cwws,
 :pwws,
 :irb_current_working_binding,
 :irb_print_working_binding,
 :irb_cwb,
 :irb_pwb,
 :irb_chws,
 :irb_cws,
 :chws,
 :cws,
 :irb_change_binding,
 :irb_cb,
 :cb,
 :workspaces,
 :irb_bindings,
 :bindings,
 :irb_ls,
 :irb_context,
 :irb,
 :irb_measure,
 :irb_current_working_workspace,
 :irb_pop_workspace,
 :irb_show_source,
 :irb_exit,
 :irb_whereami,
 :irb_load,
 :irb_require,
 :irb_change_workspace,
 :install_alias_method,
 :irb_jobs,
 :irb_source,
 :irb_fg,
 :irb_kill,
 :irb_workspaces,
 :irb_help,
 :irb_info,
 :irb_push_workspace,
 :pretty_print_inspect,
 :pretty_print_instance_variables,
 :pretty_print_cycle,
 :pretty_print,
 :taint,
 :tainted?,
 :untaint,
 :untrust,
 :untrusted?,
 :trust,
 :methods,
 :singleton_methods,
 :protected_methods,
 :private_methods,
 :public_methods,
 :instance_variables,
 :instance_variable_get,
 :instance_variable_set,
 :instance_variable_defined?,
 :remove_instance_variable,
 :instance_of?,
 :kind_of?,
 :is_a?,
 :class,
 :frozen?,
 :then,
 :public_send,
 :method,
 :public_method,
 :singleton_method,
 :tap,
 :define_singleton_method,
 :extend,
 :clone,
 :yield_self,
 :pretty_inspect,
 :to_enum,
 :enum_for,
 :<=>,
 :===,
 :=~,
 :!~,
 :nil?,
 :eql?,
 :respond_to?,
 :freeze,
 :object_id,
 :send,
 :display,
 :hash,
 :singleton_class,
 :dup,
 :itself,
 :!,
 :==,
 :!=,
 :equal?,
 :instance_eval,
 :instance_exec,
 :__id__,
 :__send__] »
« 
~ $ gem contents --all | grep -i version
/usr/lib/ruby/3.0.0/did_you_mean/version.rb
/usr/lib/ruby/3.0.0/psych/versions.rb
/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0/gems/RedCloth-4.3.2/lib/redcloth/version.rb
/usr/share/rubygems-integration/all/gems/abstract_type-0.0.7/lib/abstract_type/version.rb
/usr/share/rubygems-integration/all/gems/addressable-2.8.0/lib/addressable/version.rb
/usr/share/rubygems-integration/all/gems/base32-0.3.4/lib/base32/version.rb
/usr/lib/ruby/3.0.0/benchmark/version.rb
/usr/lib/ruby/3.0.0/bundler/gem_version_promoter.rb
/usr/lib/ruby/3.0.0/bundler/ruby_version.rb
/usr/lib/ruby/3.0.0/bundler/vendor/connection_pool/lib/connection_pool/version.rb
/usr/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/version.rb
/usr/lib/ruby/3.0.0/bundler/vendor/uri/lib/uri/version.rb
/usr/lib/ruby/3.0.0/bundler/version.rb
/usr/lib/ruby/3.0.0/bundler/version_ranges.rb
/usr/share/rubygems-integration/all/gems/colored2-3.1.2/lib/colored2/version.rb
/usr/share/rubygems-integration/all/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/version.rb
/usr/share/rubygems-integration/all/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/edge/version.rb
/usr/share/rubygems-integration/all/gems/console-1.10.1/lib/console/version.rb
/usr/lib/ruby/3.0.0/csv/version.rb
/usr/lib/ruby/3.0.0/drb/version.rb
/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0/gems/enumerable-statistics-2.0.7/lib/enumerable_statistics/version.rb
/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0/gems/ffi-1.15.4/lib/ffi/version.rb
/usr/share/rubygems-integration/all/gems/fiber-local-1.0.0/lib/fiber/local/version.rb
/usr/lib/ruby/3.0.0/fiddle/version.rb
/usr/share/rubygems-integration/all/gems/i18n-1.8.11/lib/i18n/version.rb
/usr/share/rubygems-integration/all/gems/i18n_data-0.10.0/lib/i18n_data/version.rb
/usr/lib/ruby/3.0.0/irb/version.rb
/usr/lib/ruby/3.0.0/json/version.rb
/usr/share/rubygems-integration/all/gems/kramdown-2.3.1/VERSION
/usr/share/rubygems-integration/all/gems/kramdown-2.3.1/lib/kramdown/version.rb
/usr/share/rubygems-integration/all/gems/libnotify-0.9.4/lib/libnotify/version.rb
/usr/lib/ruby/3.0.0/logger/version.rb
/usr/lib/ruby/3.0.0/matrix/version.rb
/usr/share/rubygems-integration/all/gems/mini_magick-4.11.0/lib/mini_magick/version.rb
/usr/share/rubygems-integration/all/gems/mini_portile2-2.7.1/lib/mini_portile2/version.rb
/usr/share/rubygems-integration/all/gems/mixlib-cli-2.1.6/lib/mixlib/cli/version.rb
/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0/gems/nokogiri-1.13.1/lib/nokogiri/version.rb
/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0/gems/nokogiri-1.13.1/lib/nokogiri/version/constant.rb
/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0/gems/nokogiri-1.13.1/lib/nokogiri/version/info.rb
/usr/lib/ruby/3.0.0/openssl/version.rb
/usr/lib/ruby/3.0.0/optparse/version.rb
/usr/share/rubygems-integration/all/gems/peach-0.5.1/lib/peach/version.rb
/usr/lib/ruby/gems/3.0.0/gems/power_assert-1.2.0/lib/power_assert/version.rb
/var/lib/gems/3.0.0/gems/pry-0.14.2/lib/pry/commands/pry_version.rb
/var/lib/gems/3.0.0/gems/pry-0.14.2/lib/pry/version.rb
/var/lib/gems/3.0.0/gems/pry-0.14.2/lib/pry/commands/pry_version.rb
/var/lib/gems/3.0.0/gems/pry-0.14.2/lib/pry/version.rb
/usr/share/rubygems-integration/all/gems/public_suffix-4.0.6/lib/public_suffix/version.rb
/usr/share/rubygems-integration/all/gems/rake-13.0.6/lib/rake/version.rb
/usr/share/rubygems-integration/all/gems/rake-13.0.6/lib/rake/version.rb
/usr/lib/ruby/gems/3.0.0/gems/rbs-1.0.4/lib/rbs/version.rb
/usr/lib/ruby/gems/3.0.0/gems/rbs-1.0.4/sig/version.rbs
/usr/lib/ruby/3.0.0/rdoc/version.rb
/usr/lib/ruby/3.0.0/reline/version.rb
/usr/share/rubygems-integration/all/gems/rspec-3.10.0/lib/rspec/version.rb
/usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/lib/rspec/core/version.rb
/usr/share/rubygems-integration/all/gems/rspec-expectations-3.10.1/lib/rspec/expectations/version.rb
/usr/share/rubygems-integration/all/gems/rspec-mocks-3.10.2/lib/rspec/mocks/version.rb
/usr/share/rubygems-integration/all/gems/rspec-support-3.10.3/lib/rspec/support/comparable_version.rb
/usr/share/rubygems-integration/all/gems/rspec-support-3.10.3/lib/rspec/support/version.rb
/usr/lib/ruby/gems/3.0.0/gems/rss-0.2.9/lib/rss/version.rb
/usr/share/rubygems-integration/all/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/version.rb
/usr/lib/ruby/gems/3.0.0/gems/test-unit-3.3.7/lib/test/unit/version.rb
/usr/lib/ruby/gems/3.0.0/gems/typeprof-0.12.0/lib/typeprof/version.rb
/usr/share/rubygems-integration/all/gems/unicode_plot-0.0.4/lib/unicode_plot/version.rb
/usr/lib/ruby/3.0.0/uri/version.rb
/usr/share/rubygems-integration/all/gems/webrick-1.7.0/lib/webrick/httpversion.rb
/usr/share/rubygems-integration/all/gems/webrick-1.7.0/lib/webrick/version.rb
~ $

What could be the reason for this output?

Upvotes: 1

Views: 37

Answers (0)

Related Questions