上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 101 下一页
摘要: Starting from Swift 4.1, all you have to is to conform to the Equatable protocol without the need of implementing the == method. See: SE-0185 - Synthe 阅读全文
posted @ 2018-10-26 15:26 zzfx 阅读(884) 评论(0) 推荐(0) 编辑
摘要: Special Kinds of Methods Methods associated with a type rather than an instance of a type must be marked with the static declaration modifier for enum 阅读全文
posted @ 2018-10-26 15:19 zzfx 阅读(254) 评论(0) 推荐(0) 编辑
摘要: Operator Methods Classes and structures can provide their own implementations of existing operators. This is known as overloading the existing operato 阅读全文
posted @ 2018-10-26 12:56 zzfx 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 运算符:计算只依赖寄存器和cpu;运算符本身是指令集的一部分。对标表达式。 函数:以来栈帧和指令集。 运算符只能重载,不能自定义 阅读全文
posted @ 2018-10-26 11:33 zzfx 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: 叔本华《充足理由律的四重根》的基本主张是,平常的世界是由四类对象构成的,它们都是表象。第一类由“现实对象”组成,如桌椅木石之类;第二类是些概念以及由这些概念组合而成的判断;第三类是时间和空间;第四类是人类行为。这四类对象的存在都必定有根据或理由,因此可以说每一个类都受制于充足理由律的一种特别的形式。 阅读全文
posted @ 2018-10-24 18:26 zzfx 阅读(4162) 评论(0) 推荐(0) 编辑
摘要: 首先,我们来看一下 Functor typeclass 的定义: 1 2 class Functor f where fmap :: (a -> b) -> f a -> f b Functor typeclass fmap (a -> b) f a f b f Functor 注:fmap 函数可 阅读全文
posted @ 2018-10-22 11:34 zzfx 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 删除一个文件导致整个工程四处冒烟的工程是糟糕的工程 阅读全文
posted @ 2018-10-19 15:25 zzfx 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 以最原始的方式出现在赋值操作的右侧。 阅读全文
posted @ 2018-10-15 11:03 zzfx 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 面相对象关心组件的封装、结合与协作; 函数式编程关心结构的映射(输入输出)与数值处理流程。 函数式编程更接近过程式编程。 阅读全文
posted @ 2018-10-14 11:36 zzfx 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 容器类型:高阶类型; 例子:集合类容器、枚举类容器、结果类容器、适配类容器。 功能: 1、值类型的封装和解封; 2、值类型的管理:存储、遍历、查询;为高阶函数; 3、惰性求值的管理:处理函数的保存、处理函数的执行(apply)。 值类型: 代表数据:用于进行处理,对应transform。 值类型的产 阅读全文
posted @ 2018-10-14 11:05 zzfx 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 函数式编程的演进 数据结构与算法的结合方式:https://www.cnblogs.com/feng9exe/p/9785664.html 古典编程:数据结构+算法(C语言)。 算法的上下文通过参量和全局变量确定; 演进方向:面向对象、函数式编程; 面向对象:运算的上下文通过对象和参量确定; 对象的 阅读全文
posted @ 2018-10-12 17:31 zzfx 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 高阶函数与接口混入和java匿名类。 高阶函数中的组件(参量)函数相当于面向对象中的混入(接口)类。 public abstract class Bird { private String name; public String getName() { return name; } public v 阅读全文
posted @ 2018-10-11 10:50 zzfx 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 纯虚类 接口混入类 寄生类 typedef: transformX: (Value) -> U func transformFun(:value:Value) -> U 基类: public func map<T>(_ transform: (Element) throws -> T) rethro 阅读全文
posted @ 2018-10-10 19:05 zzfx 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 高阶函数的本质是二阶构造、分离、配置和复用 相对于高阶函数,面向对象类似的功能是通过继承和多态实现的; func composeFun(){ //virtualFun fun() this.fun() } 高阶函数本身相当于基类; 配置函数+高阶函数相当于子类。 配置函数在高阶函数声明中的存在相当于 阅读全文
posted @ 2018-10-10 15:36 zzfx 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 高阶函数是以参量和返回值的形式引用其它函数的函数; 高阶函数是开放的和变化的。 相对于基本函数来说,高阶函数提供了可配置性、变化性、开放性。 声明: 高阶函数本身的声明,引用函数的声明; 为高阶函数和引用(参量、组件)函数提供上下文; 定义: 高阶函数本身的定义; 引用(组件)函数的调用; 调用: 阅读全文
posted @ 2018-10-10 14:54 zzfx 阅读(332) 评论(0) 推荐(0) 编辑
摘要: Shorthand Argument Names Swift automatically provides shorthand argument names to inline closures, which can be used to refer to the values of the clo 阅读全文
posted @ 2018-10-10 11:44 zzfx 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 协变、逆变是在有继承关系的对象间有合法赋值关系时, 相应的构造对象间对应的赋值关系是否成立。 我们可以理解成是由Object构造出来的一种新的类型,可以认为是一种构造类型,记f(Object)(可以类比下初中数学中函数的定义),那么我们可以这么来描述协变和逆变: 当A ≦ B时,如果有f(A) ≦ 阅读全文
posted @ 2018-10-09 17:41 zzfx 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 类型参数化 在scala中,类型参数化(类似于泛型)使用方括号实现,如:Foo[A],同时,我们称Foo为高阶类型。如果一个高阶类型有2个类型参数,则在声明变量类型时可以使用中缀形式来表达,此时也称该高阶类型为中缀类型,示例如下: class Foo[A,B] val x:Int Foo Strin 阅读全文
posted @ 2018-10-09 15:36 zzfx 阅读(379) 评论(0) 推荐(0) 编辑
摘要: Java泛型中的协变和逆变 一般我们看Java泛型好像是不支持协变或逆变的,比如前面提到的List<Object>和List<String>之间是不可变的。但当我们在Java泛型中引入通配符这个概念的时候,Java 其实是支持协变和逆变的。 看下面几行代码: 可见在Java泛型中通过extends关 阅读全文
posted @ 2018-10-09 14:39 zzfx 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 泛型的定义:泛型是JDK 1.5的一项新特性,它的本质是参数化类型 ParameterizedType,即带有类型参数的类型。 类型参数。 https://www.cnblogs.com/baiqiantao/p/7475696.html 泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言 阅读全文
posted @ 2018-10-08 22:23 zzfx 阅读(247) 评论(0) 推荐(0) 编辑
上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 101 下一页