parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Нет ли какого хитрого способа перехватить запись в хэш?

Maxx 21.02.2021 01:57

Типа такого:
@main[]

$h[
	$.names[
		$.lupus[Серый]
		$.hare[Косой]
		$._onchange{^names_onchange[]}
	]
	$.another[...]
]

$h.names.hare[Ушастый]
$h.names.hare
--> Был Косой, стал Ушастый


$h.names.lupus[Блохастый]
--> exception "Серый против"


@names_onchange[key;old_value;new_value]
^switch[$key]{
	^case[hare]{
		$result[Был $old_value, стал $new_value]
	}
	^case[lupus]{
		^throw[;;"$old_value против"]
	}
}