如何在Rebol 2中将变量的内容写入文本文件



这里有新手问题。。。我想将"what"函数的输出写入一个文本文件。

以下是我所做的:

我创建了一个名为"text"的变量,并将"what"的输出分配给

text:[什么]

现在我想把"text"变量的内容写入一个txt文件。。。

感谢您的帮助。提前感谢!

将语句输出写入文件的最简单方法是使用

echo %file.log
what

echo none结束这个

>> help echo
USAGE:
      ECHO target 
DESCRIPTION:
     Copies console output to a file.
     ECHO is a function value.
ARGUMENTS:
     target -- (Type: file none logic)
(SPECIAL ATTRIBUTES)
     catch

不幸的是,what函数并没有真正返回值:

在控制台中尝试以下操作:

 print ["Value of `what` is: " what]

因此write %filename.txt [what]将不起作用。

相反,你可以做的是查看what 的来源

source what

返回:

what: func [
    "Prints a list of globally-defined functions."
    /local vals args here total
][
    total: copy []
    vals: second system/words
    foreach word first system/words [
        if any-function? first vals [
            args: first first vals
            if here: find args /local [args: copy/part args here]
            append total reduce [word mold args]
        ]
        vals: next vals
    ]
    foreach [word args] sort/skip total 2 [print [word args]]
    exit
]

请注意,这个函数只打印(它不会返回它找到的值)我们可以修改脚本以执行您想要的操作:

new-what: func [
    "Returns a list of globally-defined functions."
    /local vals args here total collected
][
    collected: copy []
    total: copy []
    vals: second system/words
    foreach word first system/words [
        if any-function? first vals [
            args: first first vals
            if here: find args /local [args: copy/part args here]
            append total reduce [word mold args]
        ]
        vals: next vals
    ]
    foreach [word args] sort/skip total 2 [append collected reduce [word tab args newline]]
    write %filename.txt collected
    exit
]

这个函数有点粗糙(文件名已经设置,但它会返回您想要的内容)。您可以扩展函数以接受文件名或执行任何您想要的操作。tabnewline用于使文件输出更美观。

需要注意的重要事项:

  1. 打印未设置的退货
  2. 使用source了解函数的作用
  3. write %filename value将一次向文件中写入一个值。如果你open一个文件,你可以写更多的次数

相当基本:如果您只想保存一些文本,请使用writeread来恢复它;如果您想存储一些数据,请使用save,然后使用load进行恢复。

>> write %file.txt "Some Text"
>> read %file.txt
== "Some Text"
>> text: [what]
>> save/all %file.r text
>> load %file.r
== [what]

您可以在提示下获得每个单词的更多信息:help save或在线查看:loadsavereadwrite

相关内容

  • 没有找到相关文章

最新更新