rebol语言

定位:

  • 小而全的万能工具箱
  • 小于1M,有网络、图形界面,高级语言
  • DSL语法强大
  • 类似perl,快学快忘

语法特点:

  • 没有行分隔符,自动判断语句分割
  • 嵌套调用函数(函数参数由其它函数调用得来)时,基本不用括号,自动判断层次
  • 如无必要尽量不用各种括号,类似无括号的lisp
  • 特殊的赋值、循环语句
  • 各种语法糖
  • 基本数据类型很多,除了哈希表和字典以外,还有各种tuple,pair,time等,大多是语法糖。

其他

  • 程序打包和cgi功能需要收费
  • 图形版有一个内置的官方小社区

网址

  • 下载 http://www.rebol.com/download.html 注意图形版和服务器版的区别

图形界面(GUI)

  • 官方的几种基本部件介绍 http://www.rebol.com/docs/easy-vid.html
  • 问题是没有进一步介绍,比如读取和写入控件数值……
  • 详细的空间介绍是 http://www.rebol.com/docs/view-guide.html
  • 这里用的是一个layout的DSL,不用dslh的话只能先compose出一个包含各种控件的列表,然后view出来……

图形的各种例子

各种控件都很容易理解,看名字就知道了,只有list数据比较复杂
f: layout [ across btn black "ok" field 20x40 "input" return below indent 20 btn btn btn ]
across 转横排(缺省竖排),below转横排
return 对横排另起一行,竖排另起一列
indent 留空
guide 分区,避免guide前后的部分对齐排列
tab 对齐每行的第一个tab和下一行的第一个tab对齐,第二个tab类推
at 10x20 绝对位置定位

style 定义一种新格式类似html里面

style bt1 btn black "ok" [ do sth ]
bt1 bt1 bt1

var: newtyle []定义一组名叫var的新style,然后用
styles var来引入(类似css文件)

按钮的动作

http://www.rebol.com/how-to/btns-cust.html

各种事件处理

http://www.rebol.com/how-to/feel.html

name: text "Merlot" 100x30
button "Change" [name/text: "Cabernet" show name]

点击按钮切换文字
为了快速切换控件内容最好给控件取名(否则就要用函数找,还是类似于html里面的dom)

field控件名就是变量名,text类用name/text
show name是刷新显示控件,clear清除内容

view layout [btn "exit" [unview halt]]关掉窗口的脚本
unview带参数就是关掉特定view,不带就是当前layout
缺省一次只能打开一个窗口,view/new 会再打开一个
halt退出当前脚本,quit是退出整个rebol程序

view layout [ f1: field across b1: btn "change" [f1/text: "12" show f1] btn "print" [try [print f1/text] ] btn "exit" [unview halt] ]
http://www.rebol.org/view-script.r?script=http-tools.r cokkie

你可能感兴趣的:(rebol语言)