Guile Scheme 之 GOOPS
本帖最后由 Lispor 于 2010-11-29 22:39 编辑
GOOPS(Guile Object-Oriented Programming System)
Guile 的一个面向对象系统扩展模块, 类似于 CLOS(Common Lisp Object System), 适用于 scheme 环境.
GOOPS文档: goops manual
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
本帖最后由 Lispor 于 2010-11-30 23:39 编辑
加载 goops 模块:
复制代码让我们先看几个例子:
1. 重载 + 函数, 以使字符串可以相加, 结果为字符串的顺序组合:
复制代码2. 类型定义
复制代码这样我们就定义了一个数学中二维向量, 其中有两个属性: x 和 y.
3. 对象生成
可以用 make 来创建一个二维向量:
复制代码4. 对象属性
可以访问和改变对象的 x 和 y 的值:
复制代码5. 重载函数
可以重载 +, 以使向量相加:
复制代码6. 判断类型
可以得到一个对象的类型, 或者判断一个对象是否属于某个类型:
复制代码