Eine Funktion sollte nicht zuviele Aufgaben erledigen. In Java sind schon i.d.R. setter und getter zwei Funktionen, du willst gleich drei in eine packen - aus OOP Sicht ist dies nicht zu empfehlen.
Ich verfolge nun Alexanders Weg.
$ob->property(undef)
Setzt den Wert auf undef
Jedoch habe ich nun auch vereinzelt implementiert:
$ob->remove('hashkey')
Um das Element ganz aus der Hashreferenz zu entfernen.
Zugabe:
Wie käme ich da an die Syntax
$ob->remove->hashkey
?
und wäre das sinnvoll?
Hintergrund:
Ich schreibe einen Preprozessor für Lilypond Markup.
Dabei spielen leere Kontexte auch eine aktive Rolle (im Vergleich zu abwesenden Kontext)
Beispiel
\score {
<<
>>
\midi{}
}
Erzeugt ein Midifile für diesen Score
\score {
<<
>>
}
gibt kein Midifile für diesen Score aus
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische