# 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将改进程序运行速度和代码大小,而且这个版本不会花费太长的时间。