Ergebnis 1 bis 8 von 8

Thema: Was ist schneller: eval(code) oder procedure object?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Du kannst die AI-Objekte auch als Konstanten speichern. Dann verbrauchst du weniger Speicherplatz. Aber das ist jetzt nicht soo~ tragisch, denn soviel Speicher kosten die Objekte nicht.
    Du kannst auch das Singleton-Pattern anwenden und deinen KI-Klassen eine Methode geben, welche immer dieselbe Instanz zurückgibt.
    Code:
    module KI
      class KI
        def self.instance()
          @instance ||= new()
        end
      end
      class Aggressive < KI
        def decide_what_to_do(enemy)
          # ...
        end
      end
      # ...
    end
    # ...
    ki = KI::Aggressive.instance
    ki2 = KI::Aggressive.instance
    ki == ki2 # true
    Du solltest dich auf diese Identität aber nicht verlassen. Beim Abspeichern und Neuladen der KIs haben die wieder eine eigene Instanz. Aber wie gesagt: du sparst dadurch letztlich nur etwas Speicher, mehr nicht.

  2. #2
    Nun, falls es nur Vorteile bringt doch keine Nachteile dann ist es mir recht.

    Vielen Dank für die ausführliche Hilfe.


    Ich habe noch eine kleine Frage, könntest du mir genau erklären was dieses "&" Zeichen in folgender Zeile bedeutet?
    Code:
    $game_player.instance_eval &block
    Dass es nicht funktioniert ohne das Zeichen zu verwenden habe ich bereits feststellen müssen.

    Geändert von Cornix (13.09.2010 um 13:02 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •