Associative array/Creation: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 48: | Line 48: | ||
@hash->{'key1', 'three'} = ('val1', -238.83); |
@hash->{'key1', 'three'} = ('val1', -238.83); |
||
==[[Ruby]]== |
|||
#a hash object that returns nil for unknown keys |
|||
hash={} |
|||
hash[666]='devil' |
|||
hash[777] # => nil |
|||
hash[666] # => 'devil' |
|||
#a hash object that returns 'unknown key' for unknown keys |
|||
hash=Hash.new('unknown key') |
|||
hash[666]='devil' |
|||
hash[777] # => 'unknown key' |
|||
hash[666] # => 'devil' |
|||
#a hash object that returns "unknown key #{key}" for unknown keys |
|||
hash=Hash.new{|h,k|h[k]="unknown key #{k}"} |
|||
hash[666]='devil' |
|||
hash[777] # => 'unknown key 777' |
|||
hash[666] # => 'devil' |
Revision as of 20:52, 22 January 2007
Associative array/Creation
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
In this task, the goal is to create a hash.
Perl
Interpeter: Perl
Defining a Hash
# using => key does not need to be quoted unless it contains special chars my %hash = ( key1 => 'val1', 'key-2' => 2, three => -238.83, 4 => 'val3', ); # using , both key and value need to be quoted if containing something non-numeric in nature my %hash = ( 'key1' => 'val1', 'key-2' => 2, 'three' => -238.83, 4 => 'val3', );
Defining a HashRef
my $hashref = { key1 => 'val1', 'key-2' => 2, three => -238.83, 4 => 'val3', }
Using a Hash
print $hash{'key1'}; $hash{'key1'} = 'val1'; @hash{'key1', 'three'} = ('val1', -238.83);
Using a HashRef
print $hash->{'key1'}; $hash->{'key1'} = 'val1'; @hash->{'key1', 'three'} = ('val1', -238.83);
Ruby
#a hash object that returns nil for unknown keys hash={} hash[666]='devil' hash[777] # => nil hash[666] # => 'devil'
#a hash object that returns 'unknown key' for unknown keys hash=Hash.new('unknown key') hash[666]='devil' hash[777] # => 'unknown key' hash[666] # => 'devil'
#a hash object that returns "unknown key #{key}" for unknown keys hash=Hash.new{|h,k|h[k]="unknown key #{k}"} hash[666]='devil' hash[777] # => 'unknown key 777' hash[666] # => 'devil'