view 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
line wrap: on
line source

hashes.rb(main):001:0> #! /usr/bin/env ruby
hashes.rb(main):002:0* 
hashes.rb(main):003:0* # Ruby has inline hashmap definitions, like PHP.
hashes.rb(main):004:0* # Java doesn't. C# isn't quite as clear as this "key => value" pattern.
hashes.rb(main):005:0* frenchify = { 'one' => 'un', 'two' => 'deux' }
=> {"one"=>"un", "two"=>"deux"}
hashes.rb(main):006:0> puts frenchify['one']
un
=> nil
hashes.rb(main):007:0> 
hashes.rb(main):008:0* # Or, done properly with symbols:
hashes.rb(main):009:0* frenchify = { :one => 'un', :two => 'deux' }
=> {:one=>"un", :two=>"deux"}
hashes.rb(main):010:0> puts frenchify[:one]
un
=> nil
hashes.rb(main):011:0> # But what is a symbol? Its own class, apparently!
hashes.rb(main):012:0* puts :one.classhashes.rb(main):012:0* 
hashes.rb(main):012:0> 
Symbol
=> nil