问题标签 [rebol3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reflection - 应该如何读写 Rebol 结构化数据文件(不包含代码)?
如果你建立一个块结构,用 MOLD 将其转换为字符串,然后将其写入如下文件:
您可以稍后将其加载回来。但是标题呢?如果一个文件包含代码,它应该以如下标题开头:
如果您只是写出数据并将其读回,您是否希望有一个rebol []
标题,并使用您想要添加的任何属性对其进行扩展?您是否应该myformat []
使用自己的属性提出自己的标题概念?
此外,鉴于 LOAD 确实绑定,将它用于数据是否有意义或是否有不同的操作?
rebol - 如何从二进制(图像)中删除所有“黑色像素”?
我正在寻找性能最好的代码,它会从二进制文件中删除所有黑色像素 = #{000000}。代码示例:
Trim 的执行速度非常快,但不能按预期工作,因为它会从二进制文件中删除所有零字节 #{00}。
从二进制文件中删除所有“黑色像素”=三个零字节=#{000000}的最快代码是什么?有什么进一步的建议吗?可能使用 parse 性能更好?
asynchronous - 同步读/写端口时避免递归?
Rebol 3 中的所有端口操作都是异步的。我能找到进行同步通信的唯一方法是调用wait
.
但是在这种情况下调用 wait 的问题是它会检查所有打开端口的事件(即使它们不在传递给等待的端口块中)。然后他们调用他们的响应事件处理程序,但可以在其中一个事件处理程序中完成读/写。这可能会导致递归调用“等待”。
我该如何解决这个问题?
parsing - 您如何从二进制文件中解析 4 位块?
如果可能的话,我试图了解如何解析每 4 位的二进制文件。
例如:我有 2 字节的代码需要解析以确定使用哪条指令
#{1NNN}
其中前 4 位表示哪条指令,NNN 表示内存位置(即#{1033}
跳转到内存地址#{0033}
使用完整字节似乎很容易做到这一点,但使用半字节则不然:
因为#{1}
无效binary!
到目前为止,我已经使用了巨大的 switch 语句:#{1033} AND #{F000} = #{1000}
为了处理这些,但想知道一个更成熟的 reboler 可能会如何做到这一点。
database - Rebol 的 PostgreSQL 驱动程序?
我正在考虑使用 Rebol3 和 PostgreSQL 做一些工作,并尝试规划我的方法。看起来我有以下选择:
ODBC 访问。
自己写驱动
也许有一个现有的可以工作。
ODBC 访问看起来是最简单的方法,但是本地 PostgreSQL 驱动程序提供了一些我更愿意使用的功能,这些功能在那里不可用。这导致我编写自己的驱动程序或尝试使用 2003 年以来的旧纯 rebol 驱动程序。
许多 rebol 2 代码在 rebol 3 上不起作用,所以我认为 PostgreSQL 驱动程序需要一些努力才能工作,并且需要更多努力才能使用 PostgreSQL 的最新协议。我猜这不会太难吧?
我的目标是创建一些框架,以便快速轻松地将存储过程绑定到前端,从而将我其余工作中的一些更好的特性带到 Rebol 应用程序中。人们认为这里最好的方法是什么?
xml - 替换 XML 文件中的特定值
XML 文件中有一个片段,如下所示:
我想用另一个数字替换所有数字 90,例如 100。使用replace/all
会破坏 190 和 901 等数字。rejoin replace/all parse str "<>," "91" "147"
将消除<>,
. 我怎样才能做到这一点?
svg - 使用 GOB 的 Rebol 3 文本渲染问题
我试图在较低级别更好地理解 Rebol 3 图形(即不使用 R3-GUI)。我在绘制 gob 中呈现文本时遇到问题。
这有效:
这不起作用:
关于我做错了什么的任何想法?第二个脚本不应该在功能上等同于第一个吗?
谢谢。
object - 如何将 IN 与块而不是对象一起使用?
Rebol 中的 IN 函数确定字段是否在对象中:
声称它适用于对象或块。如果我用一个对象尝试它,它可以正常工作:
但是,如果我只是用原始块尝试它,它会返回 NONE:
如果它不支持块,我想我会理解(Rebol2 不支持)。但是在什么情况下它不会返回允许块的 NONE 呢?
冒着将这两个问题合二为一的风险,接受 BLOCK 有什么意义!为word
参数?如果你有一组你正在寻找的单词,我认为它会占用一个块,但它似乎只是返回块:
并且冒着提出这三个问题的进一步风险,拿一个PAREN有什么意义!对于字有?
http - 如何在 Rebol3 中获取 HTTP 响应标头?
Rebol 中的read
andwrite
命令,当传递一个 URL 时!参数,可以为您提供二进制响应或错误。因此,在执行 GET 或 POST 的“一次性”样式中,无处可获取响应标头。
在这篇关于如何在 Rebol2 中执行此操作的帖子中,它建议您必须打开一个端口!并从端口的本地/标题字段中获取它:
例如,这适用于 Rebol2
但是在 Rebol3 中,当我打开一个端口并尝试这个时,端口的 locals 字段为空。如何在 Rebol3 中实现相同的行为?
unicode - 比较 Rebol 3 中的角色
我正在尝试比较字符以查看它们是否匹配。我不知道为什么它不起作用。我期待true
输出,但我错了。