Поведение is junction
G_Z 24.10.2015 04:11
Все уже привыкли к ограничениям junction и его «взрыву в руках».
Но, есть мнение, выполнение переданного кода про проверке на is junction и невыполнение при такой же проверке переданной ссылки на метод — странно.
Зачастую нужно проверить, передан ли код параметром и если нет — выполнить некое действие по умолчанию.
@test[object;code]
^if($code is junction){
$result[…]
}{
$result[…]
}
Код выполняется, его результат string — проверка не проходит.
Конечно, это можно обойти костылём с *args:
@test[object;*args]
^if(^args.contains[0]){
$result[…]
}{
$result[…]
}
но костылём.
Быть может, стоит привести is junction к общему поведению и в случае кода, и в случае ссылки?
Тем более, что код может быть довольно долгоживущим, передаваться между методами и даже модифицироваться без выполнения.
А проверить существует ли он невозможно.
- Поведение is junction, G_Z [M] 24.10.2015 04:11
- Ответ, MoKo 24.10.2015 20:47
- Ну так мы про это и говорим..., Sumo [M] 24.10.2015 21:57
- Ответ, G_Z [M] 24.10.2015 20:58
- Ответ, MoKo 25.10.2015 02:41
- Ответ, G_Z [M] 25.10.2015 02:55 / 25.10.2015 02:59
- Ответ, MoKo 25.10.2015 03:29
- Ответ, G_Z [M] 25.10.2015 03:33
- Ответ, MoKo 25.10.2015 13:15
- Ответ, G_Z [M] 25.10.2015 14:15
- Ответ, MoKo 25.10.2015 14:26
- Ответ, MoKo 25.10.2015 14:45
- Ответ, G_Z [M] 25.10.2015 15:05
- Ответ, MoKo 26.10.2015 02:55
- Ответ, G_Z [M] 26.10.2015 03:11
- Я понимаю, G_Z [M] 25.10.2015 14:31 / 25.10.2015 14:33
- Ответ, MoKo 25.10.2015 03:03
- Ответ, G_Z [M] 25.10.2015 03:17
- Ответ, MoKo 25.10.2015 03:24
- Есть одна ситуация..., Sumo [M] 24.10.2015 11:30 / 24.10.2015 11:31
- У «кода» другая семантика..., Sumo [M] 24.10.2015 10:37 / 24.10.2015 10:42
- Ответ, G_Z [M] 24.10.2015 16:13 / 24.10.2015 16:17
- Ответ, Sumo [M] 24.10.2015 17:09