Mercurial > repos > other > SevenLanguagesInSevenWeeks
annotate 1-Ruby/hashes-irb.output @ 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 | ebb19742b98f |
children |
rev | line source |
---|---|
15
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 hashes.rb(main):001:0> #! /usr/bin/env ruby |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 hashes.rb(main):002:0* |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 hashes.rb(main):003:0* # Ruby has inline hashmap definitions, like PHP. |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 hashes.rb(main):004:0* # Java doesn't. C# isn't quite as clear as this "key => value" pattern. |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 hashes.rb(main):005:0* frenchify = { 'one' => 'un', 'two' => 'deux' } |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 => {"one"=>"un", "two"=>"deux"} |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 hashes.rb(main):006:0> puts frenchify['one'] |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 un |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 => nil |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 hashes.rb(main):007:0> |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 hashes.rb(main):008:0* # Or, done properly with symbols: |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 hashes.rb(main):009:0* frenchify = { :one => 'un', :two => 'deux' } |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 => {:one=>"un", :two=>"deux"} |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 hashes.rb(main):010:0> puts frenchify[:one] |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 un |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 => nil |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
17 hashes.rb(main):011:0> # But what is a symbol? Its own class, apparently! |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
18 hashes.rb(main):012:0* puts :one.classhashes.rb(main):012:0* |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
19 hashes.rb(main):012:0> |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
20 Symbol |
ebb19742b98f
Add some minor experiments with hashes (hash tables)
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
21 => nil |