Как я могу сохранить список файлов каталогов, используя чистый красный язык?

Я пытаюсь сохранить список файлов из каталога в переменной (используя только интерфейс командной строки, версия Red: 0.6.3).

Я протестировал пару функций из документации "Red by example", но все из них дают мне только вывод CLI со списком элементов из каталога:

Когда я попытался сохранить его в переменную, у меня есть такие ошибки, как:

>> var: list-dir %tests
    other-tests.red         README.md               poc-tests.red      
*** Script Error: var: needs a value
*** Where: var
*** Stack: 

>> files: ls tests
other-tests.red         README.md               poc-tests.red       
*** Script Error: files: needs a value
*** Where: files
*** Stack:  

>> other: dir %tests
other-tests.red         README.md               poc-tests.red       
*** Script Error: other: needs a value
*** Where: other
*** Stack:  

Я также нашел метод call, который дает мне возможность запускать внешние скрипты (например, сценарии оболочки), и тем самым я могу выполнить команду ОС ls:

>> filelist: ""
>> call/output "ls tests" filelist
>> print filelist
other-tests.red
poc-tests.red
README.md

Но это решение зависит от операционной системы. Например в MS Windows call/output "dir tests" filelist будет работать.

Кто-нибудь может сказать мне, есть ли другое решение для этого с использованием чистого кода Red без выполнения внешних скриптов?

Может быть где-то есть какие-то magic функции от Red System, чьи нам это дадут?

Было бы здорово быть независимым от ОС.

Спасибо за ответы


person Mateusz Palichleb    schedule 13.02.2018    source источник


Ответы (1)


Все, что требуется, это ЧТЕНИЕ каталога:

read %tests/

Это даст вам блок ФАЙЛА! значения для содержимого каталога.

person rgchris    schedule 14.02.2018
comment
Вау, это работает. Ранее я пытался выполнить read %tests, но без знака /. Благодаря вашим советам я решил всю проблему. Спасибо! - person Mateusz Palichleb; 14.02.2018