parser

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

 

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

Снова неясно

G_Z 16.02.2021 23:57 / 17.02.2021 00:58

Речь не о преобразовании типа, а о зависимости результата работы метода от способа вызова.
Что есть зависимость результата от вызова, как не тип?
string ^hash::create[] string
Вернет хеш.
О такого ожидаешь, скорее, исключения, как от
@test[]
$.k[v]
Что до исходного примера:
@test[]
^first[]
^first[]
$result(true)
то логичным кажется отбрасывать всё, что не $result, если он явно определён.

Сейчас из-за этого приходится складывать результаты работы в tmp-переменные, лишь бы не получить ошибку.
При том, что методы не всегда могут что-то возвращать, могут реагировать на пробрасываемые опции, или возвращать результат разного типа.

Условно:
@save[options]
$tmp[^self._update[$self.data;$options]]

$result[]


@update[data;options]
$result[^self._update[$data;$options]]


@_update[data;options]
$result[]

^self.db.void{UPDATE …}

^if(^options.affected.bool(false){
	$result[$.affected(^self.db.int{SELECT ROW_COUNT()})]
}