Script started on Fri Oct 31 11:29:47 2014 bash-3.2$ irb irb(main):001:0> load "silly.rb" Hello, World! => true irb(main):003:0> athing = A.new => # irb(main):004:0> athing.m1 => 34 irb(main):005:0> athing.m2(1,2) => 15 irb(main):006:0> athing.m2(2,1) => false irb(main):007:0> 15.class => Fixnum irb(main):008:0> false.class => FalseClass irb(main):009:0> true.class => TrueClass irb(main):010:0> true.class.class => Class irb(main):011:0> true.methods => [:to_s, :inspect, :&, :|, :^, :m, :nil?, :===, :=~, :!~, :eql?, :hash, :<=>, :class, :singleton_class, :clone, :dup, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :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?, :tap, :send, :public_send, :respond_to?, :extend, :display, :method, :public_method, :singleton_method, :define_singleton_method, :object_id, :to_enum, :enum_for, :==, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__] irb(main):012:0> 42 => 42 irb(main):013:0> 42.class => Fixnum irb(main):014:0> 42.abs => 42 irb(main):015:0> -42.abs => 42 irb(main):016:0> cthing = C.new => # irb(main):018:0> cthing.m1 hi => # irb(main):019:0> cthing.m2 bye => # irb(main):020:0> cthing.m1.m2.m3 hi bye => # irb(main):021:0> dthing = D.new => # irb(main):022:0> dthing.foo => nil irb(main):023:0> dthing.m1 => 0 irb(main):024:0> dthing.m1foo => 0 irb(main):025:0> D.methods => [:allocate, :new, :superclass, :freeze, :===, :==, :<=>, :<, :<=, :>, :>=, :to_s, :inspect, :included_modules, :include?, :name, :ancestors, :instance_methods, :public_instance_methods, :protected_instance_methods, :private_instance_methods, :constants, :const_get, :const_set, :const_defined?, :const_missing, :class_variables, :remove_class_variable, :class_variable_get, :class_variable_set, :class_variable_defined?, :public_constant, :private_constant, :singleton_class?, :include, :prepend, :module_exec, :class_exec, :module_eval, :class_eval, :method_defined?, :public_method_defined?, :private_method_defined?, :protected_method_defined?, :public_class_method, :private_class_method, :autoload, :autoload?, :instance_method, :public_instance_method, :m, :nil?, :=~, :!~, :eql?, :hash, :class, :singleton_class, :clone, :dup, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :frozen?, :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?, :tap, :send, :public_send, :respond_to?, :extend, :display, :method, :public_method, :singleton_method, :define_singleton_method, :object_id, :to_enum, :enum_for, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__] irb(main):026:0> dthing.bar NoMethodError: undefined method `bar' for # from (irb):26 from /usr/local/bin/irb:11:in `
' irb(main):027:0> class D irb(main):028:1> def bar irb(main):029:2> 17 irb(main):030:2> end irb(main):031:1> end => :bar irb(main):032:0> dthing.bar => 17 irb(main):033:0> 17.class => Fixnum irb(main):034:0> 1+2 => 3 irb(main):035:0> 1.+(2) => 3 irb(main):036:0> dthing.bar => 17 irb(main):037:0> class D irb(main):038:1> def bar irb(main):039:2> 42 irb(main):040:2> end irb(main):041:1> end => :bar irb(main):042:0> dthing.bar => 42 irb(main):043:0> 42.class => Fixnum irb(main):044:0> class Fixnum irb(main):045:1> def +(x) irb(main):046:2> 17 irb(main):047:2> end irb(main):048:1> end => :+ irb(main):049:0> 1+1 => 17 irb(main):017:0> nil => nil irb(main):017:0> nil.class => NilClass irb(main):017:0> nil = 42 SyntaxError: (irb):17: Can't assign to nil nil = 42 ^ from /usr/local/bin/irb:11:in `
' irb(main):017:0> 17=42 SyntaxError: (irb):17: syntax error, unexpected '=', expecting end-of-input 17=42 ^ from /usr/local/bin/irb:11:in `
' irb(main):017:0> exit bash-3.2$ irb irb(main):001:0> load "Rat.rb" => true irb(main):002:0> half = Rat.new(3,6) => # irb(main):003:0> half => # irb(main):004:0> puts half 1/2 => nil irb(main):005:0> two = Rat.new(2) => # irb(main):006:0> puts two 2 => nil irb(main):007:0> half+2 NoMethodError: undefined method `num' for 2:Fixnum from Rat.rb:43:in `add!' from Rat.rb:57:in `+' from (irb):7 from /usr/local/bin/irb:11:in `
' irb(main):008:0> half+two => # irb(main):009:0> puts half+two 5/2 => nil irb(main):010:0> exit bash-3.2$ exit Script done on Fri Oct 31 12:20:44 2014