Mercurial > repos > other > SevenLanguagesInSevenWeeks
annotate 1-Ruby/each.rb @ 101:1fae0cca1ef8
Reduce large maze to single width corridors
This reduces the permutations for
a x
x x
b x
To one (two steps north) from four (two steps north; one east, two north, one west; one east, one north, one west, one north; and one north, one east, one north, one west). Longer corridors were worse!
We would filter this in the "been here before via another path" but that's still a lot of lookups in lists, which is inefficient.
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 14 Jul 2019 13:42:24 +0100 |
parents | 369e7cdf3ddf |
children |
rev | line source |
---|---|
1 | 1 #! /usr/bin/env ruby |
2 | |
2
369e7cdf3ddf
Add comments to code and document output
IBBoard <dev@ibboard.co.uk>
parents:
1
diff
changeset
|
3 # Declare an array of strings (like many languages, |
369e7cdf3ddf
Add comments to code and document output
IBBoard <dev@ibboard.co.uk>
parents:
1
diff
changeset
|
4 # single quotes are *not* interpolated) |
1 | 5 properties = [ 'object oriented', 'duck typed', 'productive', 'fun'] |
6 | |
2
369e7cdf3ddf
Add comments to code and document output
IBBoard <dev@ibboard.co.uk>
parents:
1
diff
changeset
|
7 # Call the Each function with a code block. |
369e7cdf3ddf
Add comments to code and document output
IBBoard <dev@ibboard.co.uk>
parents:
1
diff
changeset
|
8 # Name each parameter "property" and output it |
369e7cdf3ddf
Add comments to code and document output
IBBoard <dev@ibboard.co.uk>
parents:
1
diff
changeset
|
9 # "puts" is like printf - it will *put* a *s*tring to the screen |
369e7cdf3ddf
Add comments to code and document output
IBBoard <dev@ibboard.co.uk>
parents:
1
diff
changeset
|
10 properties.each { | property | puts "Ruby is #{property}." } |
369e7cdf3ddf
Add comments to code and document output
IBBoard <dev@ibboard.co.uk>
parents:
1
diff
changeset
|
11 |
369e7cdf3ddf
Add comments to code and document output
IBBoard <dev@ibboard.co.uk>
parents:
1
diff
changeset
|
12 # Note: irb output after properties.each is content of properties |