Verwendung der Freeze-Methode in Ruby

Verwendung der Freeze-Methode in Ruby

Dieser Artikel stellt vor, wie wir die freeze-Methode für Objekte in Ruby verwenden können.

Verwendung von die freeze-Methode in Ruby

Wir können die freeze-Methode in Ruby verwenden, wenn wir ein Objekt nicht mehr ändern möchten und sicherstellen möchten, dass es nicht geändert werden kann. Mit dieser Methode können wir schnell unveränderliche Objekte generieren.

Das Programm zeigt einen Fehler an, wenn wir versuchen, ein Objekt zu ändern, auf das die Methode freeze angewendet wird. Ein Fall der Verwendung der freeze-Methode mit einem Array wird unten gezeigt.

# Ruby

fruits = ["orange","banana","strawberry"]

fruits.freeze

fruits <<"watermelon"

Wir erhalten eine Fehlermeldung, wenn wir versuchen, diesen Code auszuführen. Im Falle eines Strings wird die Verwendung der freeze-Methode unten gezeigt.

# Ruby

str = "Hey"

str.freeze

str <<" How are you?"

Dadurch werden auch Laufzeitfehler angezeigt. Im Fall eines Objekts wird die Verwendung der Methode freeze unten gezeigt.

# Ruby

class Fruits
    def initialize(name)
        @name = name
    end

    def get_name
        return @name
    end

    def set_name(name)
        @name = name
    end
end

a = Fruits.new("apple")

a.freeze
a.set_name("melon")
puts a.get_name

Ausgabe:

Freeze-Methode in Ruby

In den obigen Beispielen trat ein Fehler auf, weil wir versucht hatten, Objekte zu ändern, wenn sie bereits mit der Methode freeze eingefroren waren.

Einschränkungen der freeze-Methode in Ruby

Es gibt einige Einschränkungen bei der freeze-Methode. Es ist wichtig zu verstehen, dass wir Variablen in Bezug auf eingefrorene Objekte ändern können.

Dies liegt daran, dass wir die Objekte mit dieser Methode nur eingefroren haben. Variablen, die sich auf diese Objekte beziehen, können frei geändert werden.

Hier ist ein Beispiel, das veranschaulicht, wie wir ein eingefrorenes Objekt durch Zugriff auf dieselbe Variable in ein neues Ding ändern können.

# Ruby

str = "Hey James"
str.freeze

str = "Hey Petr"

puts str

Ausgabe:

Einschränkungen der Freeze-Methode in Ruby

Wir können die Methode freeze verwenden, um zu prüfen, ob ein Objekt unveränderlich ist.

# Ruby

str2 = "Hey Julia"

str2.freeze

str4 = "Julia is very nice"

num = 120.5

num.freeze