Вопрос
Обычно я буду использовать ::
примитивным таким образом:
SomeVariable"_ :: ] DefaultValue
Я ищу способ обернуть эту уродливую рыдание. Я пытаюсь рассуждать. Обычно это было бы с молчаливым определением. Это, например:
default =: 13 : 'x"_ :: ] y'
терпит неудачу. Потому что, конечно, в этом контексте:
SomeVariable default DefaultValue
Если какая -то не существует, J бросит валентную ошибку.
Итак, как вы можете обернуть ::
?
Решение
Вы действительно можете обернуть :: но если вы хотите дать ему аргумент глагола, вам нужно иметь дело с синтаксическими проблемами.
Например, вы можете использовать наречие:
fault=:1 :0
u"_ :: ]
)
Или вы можете преобразовать глагол, который вы манипулируете герундом, и передать этим (но это было бы уродливо, поэтому я не думаю, что вы этого хотите).
Другие советы
Я использую,
ORdef_z_ =: ".@[^:(_1< 4!:0@<@[)
'asd' ORdef 3 NB. asd not assigned, returns right.
3
asd =. 'asd' ORdef 3
asd=.'asd' ORdef 22 NB. will return 3 due to previous assignment
asd
3
Не связан с StackOverflow