0Pricing
Ruby Academy · Lektion

send und eval verwenden

Entdecken Sie, wie Sie dynamische Methodenaufrufe ausführen und Zeichenketten als Ruby-Code auswerten.

send und eval verwenden ist eine kostenlose Ruby Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ruby Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Dynamische Codeausführung

send und eval verwenden

Ruby stellt leistungsfähige Methoden wie send und eval bereit, um Code dynamisch auszuführen.

Mit diesen Methoden können Sie Methoden dynamisch aufrufen und Ruby-Ausdrücke zur Laufzeit auswerten.

send und eval verwenden — Illustration 1

Was ist die Methode send?

Was ist die Methode send?

Mit send können Sie Methoden dynamisch anhand ihres Namens aufrufen.

Damit lassen sich private und öffentliche Methoden aufrufen.

class Person
  def greet
    'Hello!'
  end
end

p = Person.new
puts p.send(:greet)

send mit Argumenten verwenden

send mit Argumenten verwenden

Mit send können Sie Methoden dynamisch Argumente übergeben.

class Person
  def greet(name)
    "Hello, #{name}!"
  end
end

p = Person.new
puts p.send(:greet, 'Alice')

Private Methoden mit send aufrufen

Private Methoden mit send aufrufen

Mit send können Sie die Sichtbarkeitsregeln für Methoden umgehen und private Methoden aufrufen.

class Person
  private
  def secret
    'This is a secret!'
  end
end

p = Person.new
puts p.send(:secret)

Was ist die Methode eval?

Was ist die Methode eval?

eval führt zur Laufzeit eine Zeichenkette als Ruby-Code aus.

code = "5 + 10"
puts eval(code) # Outputs: 15

Dynamischen Code mit eval ausführen

Dynamischen Code mit eval ausführen

Mit eval können Sie Variablen dynamisch definieren und Ausdrücke ausführen.

eval("x = 100")
puts x

Methoden mit eval definieren

Methoden mit eval definieren

Verwenden Sie eval, um Methoden dynamisch zu definieren.

eval("def dynamic_method; 'Hello from eval'; end")
puts dynamic_method

Sicherheitsrisiken von send und eval

Sicherheitsrisiken von send und eval

Die unsachgemäße Verwendung von send und eval kann Sicherheitsrisiken mit sich bringen:

  • eval kann nicht vertrauenswürdigen Code ausführen und dadurch Sicherheitslücken verursachen.
  • send kann private oder sensible Methoden aufrufen.
  • Verwenden Sie diese Methoden vorsichtig, um unbeabsichtigtes Verhalten zu vermeiden.

Rückblick auf send und eval

Herzlichen Glückwunsch!

Sie haben gelernt, wie Sie send und eval für die dynamische Methodenausführung verwenden.

Damit ist der Abschnitt zur Metaprogrammierung in Ruby abgeschlossen.

send und eval verwenden — Illustration 10

Häufig gestellte Fragen

Ist die Lektion „send und eval verwenden“ kostenlos?

Ja — der vollständige Text von „send und eval verwenden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ruby Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „send und eval verwenden“?

Entdecken Sie, wie Sie dynamische Methodenaufrufe ausführen und Zeichenketten als Ruby-Code auswerten. Du übst Ruby Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Ruby Academy zu starten?

Keine Vorkenntnisse erforderlich. Ruby Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „send und eval verwenden“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Ruby Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ruby Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Was ist Metaprogrammierung?
  2. Dynamische Methodendefinition
  3. Offene Klassen und Monkey Patching
  4. send und eval verwenden
← Zurück zu Ruby Academy