12.5 Datentypunabhängig
Bis jetzt haben wir Methoden kennengelernt, die nur auf bestimmte Datentypobjekte anwendbar waren. Aber wie bereits am Anfang dieses Kapitels erwähnt, gibt es auch Methoden, die auf alle Objekte anwendbar sind. Und diese sind, wie die nachfolgenden Beispiele zeigen werden, mehr als nützlich.
blank?
Eine sehr nützliche Methode ist blank? . Sie liefert immer dann true zurück, wenn das Objekt nil oder leer ist oder nur Leerräume (Whitespaces) enthält.
# Folgende Ausdrücke liefern immer true nil.blank? => true => true "".blank? => true " ".blank? => true false.blank? => true # Folgende Ausdrücke liefern immer false "a".blank? => false 0.blank? => false => false
Serialisieren
Manchmal ist es erforderlich, Objekte in ein neutrales Format umzuwandeln, damit man sie zum Beispiel an ein Remote-Programm schicken kann (zum Beispiel JavaScript, das im Browser des Users läuft). Man nennt das auch Serialisieren eines Objekts. Rails kann das mit den beiden Methoden to_json und to_yaml, die Objekte entweder in das Format JSON (JavaScript Object Notation) oder YAML (dasselbe Format, das in Rails für Konfigurationsdateien oder Fixtures genutzt wird) umwandeln:
class Person def initialize(firstname,lastname) @firstname = firstname @lastname = lastname end def firstname @firstname end def lastname @lastname end end lee = Person.new("Lee", "Adama") lee # => <Person:0x14737e4> lee.to_s # => <Person:0x14737e4> lee.to_yaml # => --- !ruby/object:Person # => firstname: Lee # => lastname: Adama lee.to_json # => {firstname: "Lee", lastname: "Adama"}
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.