首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rebol/RED解析保存从解析字符串到变量的ASCII代码?

Rebol/RED解析保存从解析字符串到变量的ASCII代码?
EN

Stack Overflow用户
提问于 2017-10-01 11:17:33
回答 1查看 181关注 0票数 5

前几天,我无意中发现了红色的语言,花了(或多或少的字面意思)最后的24小时“学习”它。我用尽了我的谷歌搜索技能,试图找到一个简单的问题的解决方案,只是回避了我的技能和逻辑,所以希望这里的人能引导我找到正义之路。

正如标题所示,我试图解析一个简单的字符串(任何随机文本字符串,真的),获取单个char(Acter)的字符,然后尝试将它们保存到一个变量中。(另一个字符串/数组/任何类型真的)

我能做的最好是使用以下代码:

代码语言:javascript
复制
alpha: charset [#"a" - #"z"]
testString: "this is just random rambling to test parsing!"

作为先决条件和类似的东西,当(试图)解析:

代码语言:javascript
复制
probe parse teststring [copy text to alpha (append text2 to-integer(to-char text)) to end]

将(第一个字母) ascii代码保存到text2中,并多次正确地运行脚本,将(相同的第一个字母) ASCII代码连续添加几次:

控制台输出

代码语言:javascript
复制
>> probe parse teststring [copy text to alpha (append text2 to-integer(to-char text)) to end]
true
== true
>> probe text2
"34"
== "34"
>> probe parse teststring [copy text to alpha (append text2 to-integer(to-char text)) to end]
true
== true
>> probe text2
"3434"
== "3434"

显然,我的解析并不是真正地“循环”字符串中的单个字符,也不是在执行时正确地保存它们。也许我的解析真的把整个字符串从头到尾,然后我试着把它转换成ASCII代码,或者这里发生了其他事情?

任何帮助都将受到极大的感谢,因为在解决这一困境和理解红色解析是如何工作之前,我不可能继续学习红色知识。

EN

回答 1

Stack Overflow用户

发布于 2017-10-01 12:03:47

我不确定,我是否理解你的问题和你想要实现的目标,但如果你在寻找所有的ascii表示的字符,你可以得到这一点。

代码语言:javascript
复制
asciis: []
parse teststring [some [set a  alpha (append asciis to-integer a )| skip]]
== true
>> asciis
== [116 104 105 115 105 115 106 117 115 116 114 97 110 100 111 109 114 97 109 98 108 105 110 103 116 111 116 101 115 116 112 97 114 115 105 110 103]

一些是负责循环的可用单词之一。

你的审判中有一些问题。在进行任何转换之前,它会产生一些错误。text2可能是在此之前声明过的。当您试图复制到第一个alpha字符时,to alpha将给出一个空字符串""。记住, to 上升到并且不包括目标。不能将空字符串转换为字符。如果我们假设到目前为止还没有出现错误,那么您仍然在字符串的前面,并且一直走到字符串的末尾。

一些关于红色解析的文档。参见循环迭代

您可以使用解析跟踪调试解析,也可以在您要研究的部分规则之后放置一个简单的(探测文本)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46511850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档