Skip to content

Instantly share code, notes, and snippets.

@jakemco
Created August 14, 2012 22:38
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 jakemco/3353623 to your computer and use it in GitHub Desktop.
Save jakemco/3353623 to your computer and use it in GitHub Desktop.
Overlapping Blocks
# Not actually ruby, just using that extension to make it look nice ;D
##
# Define three blocks to be used in use.not.rb
def blockC
def blockA
do banana
def blockB
do apple
end blockA
do pear
end blockB
end blockC
##
# Similar idea applied to if blocks instead of method blocks
def logicCheck(value)
if (value == 0) then
do banana
if (value == 1) then
do apple
end (value == 0)
do pear
end (value == 1)
end logicCheck
# Not actually ruby, just using the extension to make it look nice.
require 'def.not.rb'
do blockA
# equivalent to:
# do banana
# do apple
do blockB
# equivalent to:
# do apple
# do pear
do blocC
# equivalent to:
# do banana
# do apple
# do pear
do checkValue(0)
# equivalent to:
# do banana
# do apple
do checkValue(1)
# equivalent to:
# do apple
# do pear
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment