Как объединить комбинации букв и цифр в APL? - PullRequest
0 голосов
/ 04 декабря 2018

Я нахожусь в Dyalog 17 и хотел бы генерировать уникальные имена, которые будут использоваться с его библиотекой графических объектов.Так, например, у меня есть буква 'l' и я хочу взять число 1, преобразовать его в символ, а затем соединить их вместе в форму 'l1'.Это такие тривиальные вещи на других языках, но я не могу найти документацию, объясняющую, как это сделать в APL.Спасибо за вашу помощь!

Ответы [ 3 ]

0 голосов
/ 04 декабря 2018

Системная функция ⎕FMT может быть полезна здесь.Например:

       'P<I>ZI7' ⎕FMT ⍳10 
I000000
I000001
I000002
I000003
I000004
I000005
I000006
I000007
I000008
I000009

Строка форматирования указывает форматирование чисел в виде целых чисел, шириной 7, с нулевым заполнением, с положительным левым оформлением буквы 'I'.

0 голосов
/ 05 декабря 2018

Я на APL2 в мэйнфрейме, поэтому мой ответ может быть не совсем тем, что вам нужно, но вот как я бы это сделал:

∊⍕¨'L',1

Итак, сначала катанизируйте букву и цифруцифры.Затем FORMAT EACH для создания вектора символьных скаляров.Наконец, ENLIST для получения простого вектора.

Это небольшое обобщение ответа Стива.Более общий в том смысле, что он обрабатывает входные строки (а не скаляры) и работает одинаково хорошо независимо от того, идет ли сначала цифра или буква.

0 голосов
/ 04 декабря 2018

Чтобы объединить буквы 'l' с цифрой 1 для формирования символов 'l1', вы делаете это:

'l',⍕1
...