|
|
Label: ♦chinese(中文)
fu
created at Friday, 2009-03-13, 23:23:26
fu
modified at Tuesday, 2009-03-17, 22:42:44
0 Replies, 1803 Hits
道语言修改建议概括
再次感谢那些提出建议的朋友。
- 在创建协程或发生器时省略函数名前的符号 @ ,因为协程或发生器定义时
会使用 yield 语句,使得 @ 其实是多余的。
Andrew Cooke (python-list)
修改后:
- 在调用一个 不 包含 yield 语句的函数时,按通常方式调用;
- 在调用一个包含 yield 语句的函数时,创建并返回一个协程或发生器对象。
- 对于自增自减运算( ++i, --i, i++, i-- ),
仅支持前缀式,而不再支持后缀式,以避免习惯了其他语言的用户混淆。
Andor (newsmth.net), and others
- 双精度浮点数改用 D 后缀,而不是双零 00 结尾。
双零结尾在自动生成道语言代码时会导致隐藏陷阱。
Andor (newsmth.net)
- switch-case选择语句里的,对应于同一代码块的多个条件值使用
逗号而不是冒号分隔。
Andor (newsmth.net)
如果不作修正,在注释掉某些代码块时可能导致陷阱:
switch ( value ) { case C1 : case C2 : case C3 : do_sth_else(); default: }
如果按如下使用逗号分隔条件值则没问题:
switch( value ) { case C1 : case C2 , C3 : do_sth_else(); default: }
- 使用类型关键字list/map/tuple/array构造数据:
list(...), map/dict(...), tuple(...), array(...).
Andor (newsmth.net)
这些并不是绝对必要的,可能只是部分人觉得需要这些。
- 少许强制性代码规范:
语句关键字与括号之间强制使用空白字符,
而函数调用的函数名与括号之间不允许空白字符?
Andor (newsmth.net)
- 元组构造:
强制元组的第一个元素必须带名称,
但名称可省略而仅带定义名称的运算符 => ,如:
tup1 = ( x => 1.0, 2.0 ) tup2 = ( => 1.0, 2.0 ) tup3 = ( => 1.0 )
这可以解决单元素元组问题,特别是在作代码修改时,
本来含有多个元素的元组可能会被改成只含单个元素,
而这是道语言解释将不再把它当作元组。
不过,这个问题在道语言里存在的机会会很少,
因为道有类型检查系统,如果某个元组变量的定义
不小心变成了被括号括起来的单元素,那么,类型系统就能发觉此值跟该变量的
定义类型或用法不匹配,会在编译时报错。
如果你有任何建议或看法,不妨发在跟帖里。先谢了。
Comments
|
| | | 1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 |
fu: ...
I forgot to say something about the plan for the whole new year in my previous reply. Well, besides w ... (Jan.19,01:40)
fu: ...
Happy new dragon year (which will start from this sunday)!
Actually, it was a busy month (I wish th ... (Jan.18,22:46)
|