Есть ли символ для объединения строк в один символьный скаляр в APL? - PullRequest
1 голос
/ 13 января 2020

Я новичок в APL и знаю, что функция , (catenate) будет объединять символьные векторы и, таким образом, присваивать I следующим образом:

      I←'hello','world' 

приведет к I равный

hello world

И каждое слово может быть проиндексировано независимо. Я хотел бы преобразовать этот символьный вектор из двух частей в простую строку, которая называется «hello world» (я считаю, что скаляр является правильной терминологией), чтобы я мог сохранить всю строку в элемент матрицы.

Пусть A будет матрица:

      A[1;1]←I

В настоящее время строка выше выдает ошибку домена, поскольку попытка назначить вектор скаляру не работает. Как я могу примирить это?

1 Ответ

1 голос
/ 13 января 2020

Используйте функцию enclace , которая делает именно то, что вы хотите, упаковывая любой массив как скаляр:

      A←2 3⍴⍳6
      A
1 2 3
4 5 6
      A[1;1]←⊂'hello world'
      A
┌───────────┬─┬─┐
│hello world│2│3│
├───────────┼─┼─┤
│4          │5│6│
└───────────┴─┴─┘

Попробуйте!

...