Skip to content

Instantly share code, notes, and snippets.

@vibragiel
Last active January 11, 2016 15:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vibragiel/070ef7fe2f4dd244227a to your computer and use it in GitHub Desktop.
Save vibragiel/070ef7fe2f4dd244227a to your computer and use it in GitHub Desktop.

Assignments when inline if is false

[1] pry(main)> piticli = "wadus" if false
=> nil
[2] pry(main)> defined? piticli
=> "local-variable"
[3] pry(main)> h = {}; h[:piticli] = "wadus" if false
=> nil
[4] pry(main)> h.key? :piticli
=> false

wat?

ensure with explicit return

[1] pry(main)> def chimera
[1] pry(main)*   raise Error
[1] pry(main)* ensure  
[1] pry(main)*   puts "Hello"
[1] pry(main)* end  
=> :chimera
[2] pry(main)> chimera
Hello
NameError: uninitialized constant Error
from (pry):2:in `chimera'
[3] pry(main)> def chimera
[3] pry(main)*   raise Error
[3] pry(main)* ensure  
[3] pry(main)*   return "Hello"
[3] pry(main)* end  
=> :chimera
[4] pry(main)> chimera
=> "Hello"
[5] pry(main)>

wat?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment