# Red 0.5.1 --新的命令行终端和错误支持
经过漫长的等待,Red
终于完成了0.5.1
的发布。新版的Red
主要带来了新的命令行终端和错误支持,以及bug修复和其他改进。
# 新的命令行终端
- 提升
Unix
平台兼容性 - 更好的命令补全特性
- 更好的跨平台特性
- 内建命令历史
- 可定制
prompt
- 支持
ESC
中断 - ...
# 错误支持
Red
现在把errors
当做一等公民来处理,专门定义了error!
数据类型。
官方的例子:
a: 0 if error? err: try [1 / a][print "divide by zero"]
# 排序函数
学过C
的都知道,在考试中经常会出现各种排序算法,经常会把他们搞混淆。
Red
目前实现了同Rebol
相同的sort
函数。
例子1:
scores: [2 3 1 9 4 8]
sort scores
== [1 2 3 4 8 9]
例子2:
str: "CgBbefacdA"
sort copy str
== "aABbCcdefg"
sort/case copy str
== "ABCabcdefg"
str
== "CgBbefacdA"
太复杂的例子我也看不懂了,就不列了。
# 新的数据类型和运行时类型检测支持
Red
新增了几种数据类型,完整实现了typeset!
数据类型。
# Red/System
的改进
通过使用catch
语句允许捕获过滤后的异常。
Red/System []
catch 100 [
print "hello"
throw 10
print "<hidden>"
]
print " world"
将输出:
hello world
另外Red/System
新增了两个预处理指令:#get <path>
和#in <path> <word>
。
# Red 0.5.2预告
0.5.2
将改进程序运行速度和代码大小,而且这个版本不会花费太长的时间。