Я сейчас изучаю (и схожу с ума) J и читаю Learning J. Я заметил, что многие (все?) глаголы, которые я изучал, довольно гибки в своих аргументах. Я могу сделать традиционный 4 - 2
или использовать его со списками, например. 4 5 - 3 4
, и даже может сделать 3 4 5 - 1
, который, кажется, "продвигает" правую часть оператора до массива, хотя я только что дал ему скаляр.
Я предполагаю, что последнее поведение описывается этой строкой из гл. 2 вышеупомянутого текста:
Следовательно, два аргумента = должны иметь одинаковые формы (или, по крайней мере, как в примере с Y=2, совместимые формы). В противном случае возникает ошибка.
Действительно, 3 4 5 - 2 3
— ошибка. Каково техническое определение «совместимой формы»? Это так же просто, как «та же форма или скаляр», или это нечто большее?