[ruby-de] unsichtbare Hashwerte

Die Optimisten inform at die-optimisten.net
Mi Mai 3 00:31:59 JST 2017


On 2017-05-02 09:54, Robert Klemme wrote:
[...]
> * Es gibt tatsächlich ein paar seltene Anwendungsfälle, in denen das
> sinnvoll ist. Man kann z.B. den Default-Wert als "catch all"
> verwenden:
>
> h = Hash.new []
>
> # Phase 1: Vorbereitung
> special_values.each do |sv|
>    h[sv] = []
> end
>
> # Phase 2: Sammeln
> File.foreach do |line|
>    key = line[/\d+/]
>    h[key] << line
> end
>
> # Phase 3: Auswertung
> h.each_pair do |k, v|
>    printf "%p -> %p\n", k, v
> end
>
> puts "Rest:"
> p h.default
>
> Und der ist ja gespeichert - nur halt nicht unter irgendeinem Schlüssel. ;-)

;))

Hallo!
Danke --- Ist das normal, daß ich 3 Stunden brauchte, um den Code zu 
verstehen ?!?
Wenn ich Deinen Blog richtig interpretiere: Der Hash besteht aus lauter 
Immutables und einem Mutable?
Bin ich froh, daß da keine Threads im Spiel sind ;)
Bin aber noch erst am (weiten) Weg ein Experte zu werden!

Gibts einen Unterschied zw IO.foreach und File.foreach ? (denke nicht)
%p scheint == %x zu sein?

danke
cio Andreas



Mehr Informationen über die Mailingliste ruby-de