Что изменилось в типе данных этой переменной APL после этого кода (часть вторая)? - PullRequest
1 голос
/ 21 января 2020

Я пишу текстовый файл из APL. У меня есть матрица символов, определенная как UMMB в моем сценарии APL, который используется для тела этого текстового файла. Я могу успешно вызвать свою функцию записи документа .txt, используя эту переменную в качестве тела.

Затем я запускаю следующий код в матрице (который в основном заключает в себе несколько тегов html вокруг каждого элемента этого массив.)

enter image description here

Теперь, когда я пытаюсь запустить эту функцию, она не может быть правильно передана в эту функцию. Что изменилось в определении моей символьной матрицы из-за кода на скриншоте, который делает ее такой, чтобы моя функция теперь не принимала ее в качестве передаваемого параметра?

Примечание: в обеих ситуациях (до и почтовый индекс,) Я передаю плоскую версию матрицы символов в функцию создания файла.

⍕UMMB

1 Ответ

0 голосов
/ 22 января 2020

Может случиться так, что рассматриваемая функция ожидает простую («плоскую») матрицу символов. Попробуйте добавить следующую строку в самом конце вашего скрипта:

UMMB←⍕UMMB

Если это не поможет, тогда будет полезно получить результат следующих выражений перед вашим скрипт запускается:

⍴UMMB
≡UMMB
⊃UMMB

Подсказка: Улучшен ваш скрипт с ориентацией массива:

e←⍴UMMB               ⍝ shape of UMMB
UMMB←3/UMMB           ⍝ triplicate every column
i←3×⍳e[2]             ⍝ 3 6 9 ... (3×columns)
UMMB[;¯2+i]←⊂'<td>'   ⍝ amend first of every triplet
UMMB[;i]←⊂'</td>'     ⍝ amend third of every triplet
UMMB←(⊂'<tr>'),k,⊂'</tr>'   ⍝ surround rows
h←'<!DOCTYPE html><html><head><title>UMMB</title></head><body><table>'
t←'</table></body></html>'
UMMB←⍕3 1⍴h UMMB t

(Я также взял на себя свободу создания сгенерированный HTML действителен.)

...