这里有新手问题。。。我想将"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
]
这个函数有点粗糙(文件名已经设置,但它会返回您想要的内容)。您可以扩展函数以接受文件名或执行任何您想要的操作。tab
和newline
用于使文件输出更美观。
需要注意的重要事项:
- 打印未设置的退货
- 使用
source
了解函数的作用 write %filename value
将一次向文件中写入一个值。如果你open
一个文件,你可以写更多的次数
相当基本:如果您只想保存一些文本,请使用write
,read
来恢复它;如果您想存储一些数据,请使用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
或在线查看:load
、save
、read
和write
。