Skip to content

Instantly share code, notes, and snippets.

@FioFiyo
Created March 29, 2016 18:19
Show Gist options
  • Save FioFiyo/3076b06362a2727e7c4bdb7c2c34b918 to your computer and use it in GitHub Desktop.
Save FioFiyo/3076b06362a2727e7c4bdb7c2c34b918 to your computer and use it in GitHub Desktop.
IRB testing: arrays, include, modules, looping, def methods, calling destructive methods
Fiorellas-MacBook-Pro:lighthouse LHL$ irb
irb(main):001:0> def say_hi(name)
irb(main):002:1> "Hello, #{name}"
irb(main):003:1> end
=> nil
irb(main):004:0> say_hi("Meow")
=> "Hello, Meow"
irb(main):005:0> say_hi()
ArgumentError: wrong number of arguments (0 for 1)
from (irb):1:in `say_hi'
from (irb):5
from /usr/bin/irb:12:in `<main>'
irb(main):006:0> def say_hi()
irb(main):007:1> print "Nothing here"
irb(main):008:1> end
=> nil
irb(main):009:0> say_hi()
Nothing here=> nil
irb(main):010:0> name = "danny"
=> "danny"
irb(main):011:0> name!
NoMethodError: undefined method `name!' for main:Object
from (irb):11
from /usr/bin/irb:12:in `<main>'
irb(main):012:0> name.upcase
=> "DANNY"
irb(main):013:0> name
=> "danny"
irb(main):014:0> name.upcase!
=> "DANNY"
irb(main):015:0> name
=> "DANNY"
irb(main):016:0> name.reverse
=> "YNNAD"
irb(main):017:0> name
=> "DANNY"
irb(main):018:0> name.reverse!
=> "YNNAD"
irb(main):019:0> name
=> "YNNAD"
irb(main):020:0> name.reverse!.downcase
=> "danny"
irb(main):021:0> name
=> "DANNY"
irb(main):022:0> name.reverse!.downcase!
=> "ynnad"
irb(main):023:0> name
=> "ynnad"
irb(main):024:0> array = [1,2,"lamba","chicken",true]
=> [1, 2, "lamba", "chicken", true]
irb(main):025:0> array.each {|word| puts word}
1
2
lamba
chicken
true
=> [1, 2, "lamba", "chicken", true]
irb(main):026:0> array.each {|word|}
=> [1, 2, "lamba", "chicken", true]
irb(main):027:0> Math.sqrt(1234)
=> 35.12833614050059
irb(main):028:0> Time.now
=> 2016-03-29 11:12:20 -0700
irb(main):029:0> Array.new(10,true)
=> [true, true, true, true, true, true, true, true, true, true]
irb(main):030:0> .new.class
SyntaxError: (irb):30: syntax error, unexpected '.'
.new.class
^
from /usr/bin/irb:12:in `<main>'
irb(main):031:0> new.class
NameError: undefined local variable or method `new' for main:Object
from (irb):31
from /usr/bin/irb:12:in `<main>'
irb(main):032:0> Array.new(10,"math")
=> ["math", "math", "math", "math", "math", "math", "math", "math", "math", "math"]
irb(main):033:0> Array.new("or","math")
TypeError: no implicit conversion of String into Integer
from (irb):33:in `initialize'
from (irb):33:in `new'
from (irb):33
from /usr/bin/irb:12:in `<main>'
irb(main):034:0> include Math
=> Object
irb(main):035:0> sqrt 64
=> 8.0
irb(main):036:0> 1
=> 1
irb(main):037:0> 1/2
=> 0
irb(main):038:0> (1/2).to_f
=> 0.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment