做任何的REBOL 3大师在这里知道为什么modified?,exists?和size?功能定位一个URL时,R3上的失败?
这些函数适用于本地文件.
我对R2非常熟悉,但有时R3的行为似乎很奇怪.我正在使用从2012年12月12日开源版本编译的股票代码,并且我正在Windows 7上运行.
我在Windows下将Rebol3复制到我的电脑上.我从下载而不是完整安装运行它,它似乎没问题.
我尝试在控制台中使用一些非常简单的GUI示例代码,但它失败并出现各种错误消息.
如果我view [输入并输入enter它告诉我它的语法错误(这在reb / view 2中有效).
它是一台胜利的7机器.
Rebol3的版本是2014-03-04 04:54
当我使用help并输入命令时what,view未列为命令.
我对REBOL3 REPL的一个烦人的问题是它不接受多行语句.例如,我想键入"some_obj:make obj![",按Enter键,然后继续声明.
这对我来说很重要,因为我正在使用Vim插件将可视化选择的源代码发送到REPL.
我已阅读另一个StackOverflow问题,REBOL2支持多行语句,而REBOL3则不支持.有人为此提供了修复,还是在REPL中有多线支持的分支?
可以说我定义了几个词:
Word1: 5
Word2: "blahdiddyblah"
Run Code Online (Sandbox Code Playgroud)
是否有系统的某个部分或块存储正在使用的单词?
尝试过这样的事情,但失败了:
S1: to-block copy system/contexts/user
D: 3
S2: to-block copy system/contexts/user
Difference s1 s2
Run Code Online (Sandbox Code Playgroud)
根据@johnk的建议,我试过:
>> snapshot-of-words: words-of system/contexts/user
== [system snapshot-of-words words-of contexts user]
>> x: 1
== 1
>> difference snapshot-of-words words-of system/contexts/user
== [x difference]
>> difference snapshot-of-words words-of system/contexts/user
== [x difference]
>> 5 + 9
== 14
>> form ["hellow" "there" ]
== "hellow there"
>> difference snapshot-of-words words-of system/contexts/user
== [x difference + form]
Run Code Online (Sandbox Code Playgroud)
这是什么意思?本机函数在使用后被绑定到用户上下文中?有没有办法将这些与用户可能绑定的方法隔离开来?
我想比较字符,看看它们是否匹配.我无法弄清楚为什么它不起作用.我期待true输出,但我变得虚假.
character: "a"
word: "aardvark"
(first word) = character ; expecting true, getting false
Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的mysql架构:
data: {
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT '' COMMENT 'the name',
`content` text COMMENT 'something',
}
Run Code Online (Sandbox Code Playgroud)
现在我想从中提取一些信息:提交的名称,类型和评论(如果有的话).见下文:
["id" "int" "" "name" "varchar" "the name" "content" "text" "something" ]
Run Code Online (Sandbox Code Playgroud)
我的代码是:
parse data [
any [
thru {`} copy field to {`} {`}
thru some space copy field-type to [ {(} | space]
(comm: "")
opt [ thru {COMMENT} thru some space thru {'} copy comm to {'}]
(repend temp field repend temp field-type either comm [ …Run Code Online (Sandbox Code Playgroud) 我知道如何在r3gui中调整边框的大小:
view [
b: box 800x400 red options [
box-model: 'frame border-size: [4x2 2x4]
]
]
Run Code Online (Sandbox Code Playgroud)
但是如何通过r3gui从R2/View中获知一个ibevel边界/边缘效果?
Rebol2 /查看示例:
view [
box 800x400 red edge [size: 4x4 effect: 'ibevel color: gray]
]
Run Code Online (Sandbox Code Playgroud) Atronix Rebol 3 FFI在包装外部函数方面看起来相当不错,但我找不到任何关于使用它包装外部变量的引用.
例如,Curses/NCurses库具有在C中定义的外部变量stdscr
extern WINDOW *stdscr;
Run Code Online (Sandbox Code Playgroud)
我想在我的Rebol代码中使用它.理想情况下,我想将它用作常见的Rebol变量,但是只读访问(例如,作为函数调用的结果)也会很棒.
Rebol 3 FFI有可能吗?
我知道这种做法可能被认为是有害的,但有时外部库是以这种方式编写的.
我正在尝试在Rebol中编写一个基于单个文本文件的简单聊天应用程序.什么是"实时"读取该文件的最佳方式?现在我已经得到了它:
t1: text 600x300 wrap green black font-name font-fixed rate 1 feel[
engage: func [face action event][
if action = 'time [
face/text: read chatText
show face
]
]
]
Run Code Online (Sandbox Code Playgroud)
文本字段每秒都会随文件内容一起更新.即使有多个用户,这也有效,但每个用户每秒都会读取整个文件.有没有更好的方法来做这种事情?
我试图制作一个类似awk的工具,它使用Rebol 3来处理带有bash管道和工具的更大的文本文件.我在Rebol 3中逐行读取STDIN时遇到问题?
例如,这个shell命令产生3行:
$ (echo "first line" ; echo "second line" ; echo "third line" )
first line
second line
third line
Run Code Online (Sandbox Code Playgroud)
但是Rebol的输入字同时读取所有3行.如果您以交互方式使用输入,我会期望它停止在换行符处停止.
r3 --do 'while [ x: input ] [ if empty? x [ break ] print x print "***" ]'
abcdef
abcdef
***
blabla
blabla
***
Run Code Online (Sandbox Code Playgroud)
但是当我一起运行它时,它会立即读取整个输入.我可以同时阅读这一切,并分割成线,但我希望它在"流"的方式,因为我平时工作猫中的行许多1000-S.
$ (echo "first line" ; echo "second line" ; echo "third line" ) \
| r3 --do 'while [ x: input ] [ if …Run Code Online (Sandbox Code Playgroud)