在Clojure中输入系统

时间:2017-05-08 05:29:29

标签: clojure duck-typing

"编程是否为抽象" Clojure中的原理和鸭子打字一样吗?如果没有,有什么区别?

以下是http://www.braveclojure.com/core-functions-in-depth/的引用:

  

原因是Clojure定义了map和reduce函数   序列抽象,而不是特定的数据结构。如   只要数据结构响应核心序列操作(   功能优先,休息和缺点,我们将在一个更密切关注   那一刻),它将与map,reduce和其他序列的oodles一起工作   功能免费。这就是Clojurists通过编程来表达的意思   抽象,这是Clojure哲学的核心原则。

     

我认为抽象是命名的操作集合。如果你可以的话   对某个对象执行所有抽象操作,然后执行   object是抽象的一个实例。我甚至认为这样   编程之外。例如,电池抽象包括   操作“将导电介质连接到其阳极和阴极”,   并且操作的输出是电流。无论如何   电池由锂或土豆制成。这是一个电池   只要它响应定义电池的操作集。

数据类型按行为被识别为抽象类的一部分("响应")。这不是鸭子打字的本质吗?谢谢你的意见。

0 个答案:

没有答案