* ISSUE: (de-1.2.0更新计划)提供tuple和struct,废弃using-typed-map.
由于using xxx{ ... }语法需要在定义时赋予初始值,会导致乱七八糟的问题——经典的例如构造时才有办法获取的值:
using myiter
{
var iter = ???: array::iterator<SomeT>;
}
就会导致iter的初始值设定变得非常尴尬。由于de-1.1.0版本引入了optional,nil正在逐步被废弃,而此处的语法尤其尴尬。
因此准备引入struct,使用类似rust的方法定义struct:
using myiter<SomeT> = struct
{
iter: array::iterator<SomeT>;
}
然后 var x = myiter{iter = []->iter()}; 构造一个struct实例
- tuple目前好像没什么特别的用法,但是蛮做一下也行
另: 需要支持struct/tuple的模式匹配语法,支持match和var/ref中使用。
此版本更新后,使用using-typed-map语法将会得到编译警告,后续版本将移除这个语法
Edited by mr cino