Как мне реализовать массив строк?
Я попытался реализовать слово, которое производит строку из массива, когда ему дано число в стеке в Forth.
Моя первая наивная попытка была:
create myarray s" Alpha" , s" Beta" , s" Charlie" ,
Это было принято, но это не сработало, как ожидалось -myarray @ type
производит противоречивый вывод (вместо моего наивного ожидания, что он может напечатать «Альфа»).
При поиске в Интернете я нашел вGforth документация что строка создана сs"
имеет ограниченный срок службы, что означает, что мой анзац обязательно потерпит неудачу с самого начала. С другой стороны, даже массивы обычных объектов, кажется, не стандартизированы в соответствии сМассивы в Форт раздел в четвертом уроке Лена.
<Update> Видимо, это не тривиальная проблема с Forth. В Интернете есть библиотеки, которые реализуют отсутствующую функциональность строк:FFL (модуль str) а такжеСтроковые функции Бернда Пайсана, Это хорошая отправная точка, хотя она все еще требует работы, чтобы перейти оттуда к массиву строк.</ Update>
Итак, как я могу реализовать слово, которое возвращает строку из данного массива?