gpt4 book ai didi

reflection - Rebol为什么不换新线?类似地对待换行关键字和换行符吗?

转载 作者:行者123 更新时间:2023-12-02 23:12:39 25 4
gpt4 key购买 nike

我认为以下 Rebol 3 代码:

x: [newline 1 2]
y: [
1 2]

print x
print new-line? x
print y
print new-line? y

应该输出:

<empty line>
1 2
true
<empty line>
1 2
true

但是输出是:

<empty line>
1 2
false
1 2
true

两个 block 在减少时都应该产生一个换行符,后跟“1”和“2”,因此,IMO,应该打印相同的内容。不太清楚的是是否换行?在这两个 block 上也应该给出相同的结果,因为 newline 关键字应该相当于此类测试的文字换行符。

最佳答案

new-line?检查并由new-line设置的标志仅由LOAD和MOLD使用。对于程序中的所有其他语义目的,它也可能不存在。

因此,您的 xy 完全不同。请注意:

x: [newline 1 2]
y: [
1 2]

3 = length? x
2 = length? y

Rebol 的一个怪癖是它会挑选出这一点空白信息并将其隐藏在一个隐藏的地方。但可以说,断行的选择代表了在源代码中通常很重要的东西,如果你将它反射(reflect)回文本中,你会希望保留比其余空白更多的内容。

关于reflection - Rebol为什么不换新线?类似地对待换行关键字和换行符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14475925/

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