gpt4 book ai didi

rebol - 我怎样才能在 Rebol 中打开单词的换行状态?

转载 作者:行者123 更新时间:2023-12-01 12:37:47 26 4
gpt4 key购买 nike

我知道,我知道。 “什么换行状态?”,你问。好吧,让我告诉你:

append [] w: first new-line [hello] on
== [
hello
]

W 现在是一个词,在附加到 block 时会创建一个新行。

你可以关闭它,例如在 Rebol 3 中这样:

append [] to word! w
== [hello]

但是我一直没有找到好的开启方式。 Rebol 大师,你可以吗?

澄清:我正在寻找这样的“f”:

append [] f to word! "hello"

其中有一个换行符。

最佳答案

似乎换行状态是根据分配的在赋值时是否有前面的换行符分配给单词的(我将反射(reflection)该声明的正确性一会儿)。

此函数将相同的值(应保留上下文)重新分配给具有新换行状态的单词:

set-new-line: func [
'word [word!]
state [logic!]
][
set/any word first new-line reduce [get/any word] state
]

我们还可以测试给定单词的换行状态:

has-new-line?: func [
'word [word!]
][
new-line? reduce [get/any word]
]

正在使用中:

>> x: "Foo"
== "Foo"

>> has-new-line? x
== false

>> reduce [x]
== ["Foo"]

>> set-new-line x on
== "Foo"

>> has-new-line? x
== true

>> reduce [x]
== [
"Foo"
]

>> reduce [set-new-line x on set-new-line x off set-new-line x on]
== [
"Foo" "Foo"
"Foo"
]
  • 应该在 工作和

  • 似乎在 工作v0.6.1 有一个警告:new-line? 似乎总是返回 true

关于rebol - 我怎样才能在 Rebol 中打开单词的换行状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28076979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com