Ergebnis 1 bis 11 von 11

Thema: [RMXP] > [RUBY] Variableninhalt als Variablennamen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    [RMXP] > [RUBY] Variableninhalt als Variablennamen?

    Hi,

    ich habe folgendes Problem: Ich möchte gerne im Ruby einer Variable/Konstante/ect. den Wert einer anderen Variable/Konstante/ect. zuweisen, also etwa so:
    Code:
     $aktchara_hp = $hp_chara1
    nur will ich den Namen des zweiten Postens nicht direkt eingeben sondern aus einer dritten Variable beziehen, etwa $aktchara_name!

    Wie muß ich das schreiben damit Ruby versteht was ich will? Ich hab' von Ruby noch nicht soviel Ahnung, war die halbe nacht auf und hab dran gesessen aber in Helpdatei und anderen Scripten nichts Vergleichbares gefunden. hoffe das geht irgendwie...

  2. #2
    Das sollte mit dem eval-Befehl gehen.

    Code:
    $variable1 = 5
    $variable2 = '$variable1'
    $variable3 = eval($variable2)
    p($variable3) # Sollte 5 ergeben
    Eval nimmt einen String entgegen und interpretiert diesen String als Ruby-Code, und gibt entsprechend einen Wert zurück.
    Innerhalb von Strings kann man auch noch anders Rubycode einbetten:

    Code:
    $x = 5
    $ichBinEinString = "Blablub, dies ist ein Test. #{$x}"
    Der String zwischen #{ und } wird hier als Rubycode interpretiert und der Rückgabewert als String genommen. Damit Ruby diese Sonderzeichen ('#{' und '}') so interpretiert, muss der konstante String mit doppelten Hochkommata eingeschlossen werden. Wenn der String nur mit einfachen Hochkommata eingeschlossen wird, nimmt Ruby diese Ersetzung nicht vor.

    Das ganze geht natürlich auch mit komplexerem Code:
    Code:
    $x = TRUE
    $foo = "Das Ergebniss des Trinär-Operators ist: #{$x ? 5 : 10}"
    Bei größeren mehrzeiligem Code sollte man allerdings zu eval greifen.

  3. #3
    hat Ruby eigentlich native Pointer ? Fuer mich klingt das, was Lil_Lucy da moechte naemlich exakt danach.

  4. #4
    Bis auf Integer/Floats und so Kleinkram, sind alle Variablen in Ruby eigentlich Pointer, sprich es wird immer nur die Referenz auf ein Objekt übergeben (in Ruby ist ja alles ein Objekt).
    In sofern ja, solange sie auf ein komplexeres Objekt zugreifen will und nicht auf einen Integer, kann man auch einfach die Variablen als native Pointer benutzen, aber das sorgt mMn zu schnell für Konfusion.

  5. #5
    @MagicMagor: Danke, werd's nacher gleich mal ausprobieren!
    Mal noch 'ne kleine Frage: Weißt du ob es ein Buch oder so über Ruby in Printform zu kaufen gibt? Ich werd vorraussichtlich im Februar viel Zeit zu lesen kriegen da ich zu so 'ner komischen Schulung muß und meinen PC nicht mitnehmen kann und das wäre die ideale Gelegenheit meinen inneren Schweinehund auszutricksen der mich von sonstigen Lernaktivitäten bisher erfolgreich abgehalten hat...

    Achso: Wenn du noch Zeit hast wäre ich dir auch dankbar wenn du mir erklären könntest wie ich es schaffe das der Bildschirm festgestellt wird (wie die Fix-Screen-Option im Pan-Screen-Befehl beim 2k eben). Das hatte ich neulich schonmal wen gefragt, aber seine Methode hat nicht funktioniert...

    MfG

    Lil_Lucy

  6. #6
    Zitat Zitat
    Mal noch 'ne kleine Frage: Weißt du ob es ein Buch oder so über Ruby in Printform zu kaufen gibt? Ich werd vorraussichtlich im Februar viel Zeit zu lesen kriegen da ich zu so 'ner komischen Schulung muß und meinen PC nicht mitnehmen kann und das wäre die ideale Gelegenheit meinen inneren Schweinehund auszutricksen der mich von sonstigen Lernaktivitäten bisher erfolgreich abgehalten hat...
    Es gibt die neuste Auflage des Buchs "Programming Ruby" wohl. Meiner Meinung nach so ziemlich DAS Buch, wenn es darum geht Ruby zu lernen, aber ich kenne ehrlich gesagt auch sonst kein anderes =). Gut ist es wohl trotzdem (nicht umsonst empfehl ich jedem die OnlineVersion zum lernen)
    Klick mich!
    Mit der ISBN kannst du das in jedem Buchladen bestellen, ob es davon auch eine deutsche Printversion gibt weiß ich nicht.

    Zitat Zitat
    Achso: Wenn du noch Zeit hast wäre ich dir auch dankbar wenn du mir erklären könntest wie ich es schaffe das der Bildschirm festgestellt wird (wie die Fix-Screen-Option im Pan-Screen-Befehl beim 2k eben). Das hatte ich neulich schonmal wen gefragt, aber seine Methode hat nicht funktioniert...
    Vermutlich wird es ne Eigenschaft von Game_Screen geben, die das Scrollen verhindert, aber da ich mich recht wenig mit den Standardklassen beschäftige kann ich dir auch nichts genaueres sagen. Und da ich immer noch auf meinen Key warte, kann ich auch leider nicht selber nachgucken. Vermutlich musst du selber im Code suchen, oder jemand anderes wird die Frage beantworten..

  7. #7
    Hab' das Buch grade auf Deutsch bei Amazon gefunden! Hui, 29,95€ sind nicht ganz wenig, aber naja, hoffe mal das lohnt sich...!

    EDIT: Es scheint da ja noch einige andere Bücher zum Thema, teils mit ähnlichem bis gleichem Titel. Hät' ich nicht gedacht das es soviel gibt...

    Geändert von Lil_Lucy (13.01.2006 um 19:14 Uhr)

  8. #8
    das liegt vielleicht dadran, dass Ruby eine echte Script/Programmiersprache ist, die es schon vor dem RMXP gab. Das sind also alles einfuehrungen in Ruby und werden sich garantiert NICHT auf den rmXP beziehen ...

  9. #9
    Das ist schon klar, nur wurde auch schon oft gesagt das Ruby auserhalb japans nicht sehr bekannt ist! Das es nicht um den XP oder RGSS geht ist logisch.

  10. #10
    wollte nur etwaigen Entteuschungen vorbeugen ^^

  11. #11
    Hab das Buch jetzt bestellt! Sollte ich es tatsächlich schaffen es komplett durchzulesen werd' ich euch wissen lassen ob sich's gelohnt hat oder nicht!

Berechtigungen

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