如何使用纯 Red 语言存储目录文件列表?

How can I store list of directory files using pure Red language?

我正在尝试将目录中的文件列表存储在变量中(仅使用 CLI,红色版本: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 方法,它让我有可能使用 运行 外部脚本(比如 shell 脚本),通过它我可以执行 OS 命令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 System 的一些 magic 函数,谁能给我们?

独立于 OS 就好了。

感谢您的回答

只需要读取目录:

read %tests/

这会给你一个文件块!目录内容的值。