从 Rebol 中的单词中获取字符串

Getting strings from words in Rebol

我真的觉得我错过了一些简单的东西,所以我提前道歉,甚至不得不问。在 Rebol 中,如何从块中的 word/variable 获取字符串值?我有这个代码:

REBOL []
aLink: "http://google.com"
anAtt: "href"
aList: [anAtt aLink]
print "Test 1"
foreach el aList [ print type? el ]
print "Test 2"
foreach el2 aList [ print el2]
print "Test 3"
foreach el2 aList [ print string! el2]

那个return是这样的:

Test 1
word
word
Test 2
anAtt
aLink
Test 3
string
string

我在测试 2 中想要的是 return aLink 和 anAtt 的值,但在每个组合中它 return 是单词名称。我究竟做错了什么?我在 REBOL/Core 2.7.8.4.2 中使用 2.3 libc 二进制文件在 32 位 Ubuntu 上执行此操作。

我以前在其他 Rebol 程序中使用过 foreach 和块,但从未遇到过这种问题。求助!

In Rebol how do you get a string value from a word/variable in a block?

如果你有话要说!在一个值中,它被绑定 (你这里恰好是) 那么你正在寻找 get.

a-link: http://google.com
an-att: "href"
a-list: [an-att a-link]
foreach el a-list [ print get el ]

输出应该是:

href
http://google.com

注意修改。 CamelCase 类型的东西在 Rebol 中并不常见,对于查找不区分大小写。另外,如果您不删除 URL 中的引号!并使用 URL!数据类型你错过了其中一个细节。 :-)

另请注意,PRINT 将隐式减少您提供的块。所以 print a-list 给你:

href http://google.com