Оверт J неблагоприятный примитив (:)

StackOverflow https://stackoverflow.com/questions/4715264

  •  12-10-2019
  •  | 
  •  

Вопрос

Обычно я буду использовать :: примитивным таким образом:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top