2015-09-27 65 views
2

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

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] 

返回此:

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

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

我以前在其他Rebol程序中使用过foreach和块,并且从来没有遇到过这种麻烦。帮帮我!

回答

1

在Rebol中,如何从块中的单词/变量获取字符串值?

如果你有一个WORD!在一个值,它是绑定(你在这里碰巧碰到)然后你正在寻找得到

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将隐含地缩小你给它的块。所以打印清单给你:

href http://google.com 
+0

1.爱用户名。它让我微笑,今天我需要。 2.谢谢!!! 3.我实际上是在一个小网页制作工作,所以字符串类型就是我在找的东西,但是URL类型真棒。编写客户端程序时喜欢。 :) – AndrewBurton

+0

@AndrewBurton不要阻止使用问答网站的实际用途*(最好格式化并提问作为问题)*,但[这里也有一个聊天室](http://chat.stackoverflow的.com /房间/ 291/REBOL和红色) – HostileFork