19 lines
648 B
Markdown
19 lines
648 B
Markdown
|
# Lösung: Hashes und Blöcke
|
||
|
|
||
|
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||
|
class Cache
|
||
|
def initialize(&callback)
|
||
|
@data = {}
|
||
|
@callback = callback
|
||
|
end
|
||
|
|
||
|
def add(key, value)
|
||
|
@data[key] = value
|
||
|
end
|
||
|
|
||
|
def [](key)
|
||
|
@data[key] = @callback.call(key) unless @data.has_key?(key)
|
||
|
@data[key]
|
||
|
end
|
||
|
end
|
||
|
```
|