锁定老帖子 主题:jaskell script
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-02-04
强烈建议竖线。
|
|
返回顶楼 | |
发表时间:2005-02-06
增加了operator overloading。比如:
new_complex(1, 2); - new_complex(2, 1); where new_complex r i = {real = r; img = i; (-); = minus this}; minus a b = {real = a.real-b.real; img = a.img-b.img} 结果是 {real=-1; img=1} again, 这不是给业务员用的。但是程序员可以定义一个库,然后告诉业务员他们可以用他们熟悉的运算符计算一些业务实体。 呵呵。 |
|
返回顶楼 | |
发表时间:2005-02-07
对了,关于你说的那个需要跳着阅读的问题,我想了一下,应该是没有的。
let-in语句是strict的,它保证顺序。 就相当于我们在java里面的定义变量。 比如: int x = ...; int y = ...; return f(x+y);; 没人会先读return f(x+y)再读x和y的定义吧? 这段既有let也有where的jaskell程序: let x = ...; y = ...; in f x y where f x y = x+y; 就相当于java的 int x = ...; int y = ...; return f(x,y);; ... int f(int x, int y);{ return x+y; } 也不会有人先读return f(x,y),再读int x, int y,最后读f的定义吧? |
|
返回顶楼 | |