[ruby-de] Denkfehler gefunden - und auch die Ursache fuer selbigen...

Norbert Melzer timmelzer at gmail.com
Mi Aug 30 22:57:15 JST 2017


Wolfgang Nádasi-Donner <ruby at wonado.de> schrieb am Mi., 30. Aug. 2017 um
15:05 Uhr:

> Ich habe natürlich einen ganz dicken Denkfehler gemacht, weil ich seit
> geraumer Zeit daran gewöhnt bin, dass die Auswertung von Aufrufen "lazy"
> vor sich geht.
>

Haskells lazy evaluation (oder auch verzögerte Ausführung) hat damit nichts
zu tun.

Sie bedeutet lediglich, dass `upcase "\\1"` nur dann ausgeführt wird, wenn
es auch zuvor einen Match gab und man das Substitutionspattern benötigt. Um
tatsächlich den Match mit von `upcase` betroffen zu machen, braucht es in
Haskell eine Funktion oder ein Lambda das statt des Patterns übergeben wird
und den Match als Argument entgegennimmt. Also genau wie in Ruby auch.


Mehr Informationen über die Mailingliste ruby-de