您知道 Rebol 有一个本机路径类型吗?
虽然这不能完全回答您的问题,但我坚持我会添加有关如何直接在 Rebol 中使用路径的参考。 Rebol 有 很多 数据类型,如果可以,您应该利用丰富的语言功能。尤其是当您开始使用和构建方言时,了解存在哪些类型以及如何使用它们变得更加有效。
这是一个示例,说明如何在不使用字符串的情况下直接构建和运行路径。为了在源代码中表示路径,您使用 lit-path! 数据类型。
示例:
>> p: 'fs/usr/local
== fs/usr/local
>> do p
== [
bin []
]
你甚至可以附加到一个路径来操作它:
>> append p 'bin
== fs/usr/local/bin
>> do p
== []
如果它存储在块中,则使用路径!直接输入(不是光照路径!):
>> p: [fs/usr/local/bin]
== [fs/usr/local]
>> do first p
== [
bin []
]
还请注意,直接使用路径比使用字符串具有优势,因为路径由一系列单词组成,您可以比使用字符串示例更轻松地进行一些操作:
>> head change next p 'bin
== fs/bin/local
>> p: 'fs/path/issue/is
== fs/path/issue/is
>> head replace p 'is 'was
== fs/path/issue/w
与使用字符串相反:
>> p: "fs/path/issue/is"
== "fs/path/issue/is"
>> head replace p "is" "was"
== "fs/path/wassue/is"
如果你想浏览磁盘,而不是 Rebol 数据集,你必须简单地给 'FS 一个文件的值!以及从那里浏览的路径的其余部分(这是路径在文件上的工作方式!类型):
fs: %/c/
read dirize fs/windows