O'Reilly logo

Die Programmiersprache Ruby by Yukihiro Matsumoto, David Flanagan

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

8.2 Strings und Blöcke auswerten

Eines der mächtigsten und einleuchtendsten reflektiven Features von Ruby ist die Methode eval. Wenn Ihr Ruby-Programm einen String mit gültigem Ruby-Code erzeugen kann, kann die Methode Kernel.eval diesen Code auswerten:

x = 1
eval "x + 1"  # => 2

eval ist eine sehr leistungsfähige Funktion, aber solange sie nicht tatsächlich ein Shell-Programm (wie irb) schreiben, das vom User eingegebene Zeilen mit Ruby-Code ausführt, werden Sie sie wahrscheinlich nicht benötigen. (Und in einem Netzwerkkontext ist es so gut wie nie sicher, eval mit Text aufzurufen, der von einem User empfangen wurde, da er Schadcode enthalten könnte.) Unerfahrenen Programmierern passiert es manchmal, dass sie eval als Krücke verwenden. Wenn Sie ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required