Skip to content

Instantly share code, notes, and snippets.

@seanhandley
Created November 15, 2015 11:13
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 seanhandley/21e704818667bc0b90b6 to your computer and use it in GitHub Desktop.
Save seanhandley/21e704818667bc0b90b6 to your computer and use it in GitHub Desktop.
Einstein 13: Short method names
def implies?(set_a, val_a, set_b, val_b)
(0..4).any? do |i|
set_a[i] == val_a &&
set_b[i] == val_b
end
end
# Becomes:
def i(a, b, c, d)
(0..4).any? do |i|
a[i] == b &&
c[i] == d
end
end
###########
def left_of?(set_a, val_a, set_b, val_b)
(0..4).any? do |i|
set_a[i] == val_a &&
set_b[i+1] == val_b
end
end
# Becomes:
def l(a, b, c, d)
(0..4).any? do |i|
a[i] == b &&
c[i+1] == d
end
end
###########
def next_to?(set_a, val_a, set_b, val_b)
left_of?(set_a, val_a, set_b, val_b) ||
left_of?(set_b, val_b, set_a, val_a)
end
# Becomes:
def n(a, b, c, d)
l(a, b, c, d) ||
l(c, d, a, b)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment