06 2018 档案

摘要:类名为this的限定词。 相对于内部类:有多个this; 1、内部类本身的this; 2、内部类的环境类的this; 类名.this,就是为了对这些this指针的指向做出限定。 区别于类名.class:是为了获取类型信息。 阅读全文
posted @ 2018-06-29 17:11 zzfx 阅读(413) 评论(0) 推荐(0) 编辑
摘要:注解的本质是寄生信息,注解实例必须和具体代码单元关联才有意义。 1、定义注解(类型)--定义元(信息)(结构)。 2、实例化注解并关联到程序单元-- 3、根据程序单元关键字获取注解实例信息解读。 用配置信息来表示注解的 注解(类型)定义:xxx注解名称x = anotationDefine(注解变量 阅读全文
posted @ 2018-06-28 23:10 zzfx 阅读(200) 评论(0) 推荐(0) 编辑
摘要:反射机制是Java动态性之一,而说到动态性首先得了解动态语言。那么何为动态语言? 一、动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化。比如常见的JavaScript就是动态语言,除此之外Ruby,Python等也属于动态语言,而C、C++则不 阅读全文
posted @ 2018-06-28 23:07 zzfx 阅读(308) 评论(0) 推荐(0) 编辑
摘要:注解的本质是寄生在代码中的附加信息,是配置信息的升级形式 @是java注解,即annotation。 1可以理解为插件,是代码级别的插件,在类的方法上写:@XXX,就是在代码上插入了一个插件。 2Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。 阅读全文
posted @ 2018-06-28 19:45 zzfx 阅读(164) 评论(0) 推荐(0) 编辑
摘要:这是关于Android中Binder机制的一系列纯技术贴。花了一个多礼拜的时间,才终于将其整理完毕。行文于此,以做记录;也是将自己所得与大家分享。和以往一样,介绍Binder时,先讲解框架,然后再从设计和细节等方面一一展开。若文章若错误或纰漏,请不吝指出。谢谢! 注意:本文是基于Android 4. 阅读全文
posted @ 2018-06-28 15:08 zzfx 阅读(262) 评论(0) 推荐(0) 编辑
摘要:本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:yanzhikai_yjk@qq.com 本文原创,转载请注明本出处! 前言 最近的开发中经常使用到Application类,它的用处很多,但是网上的资料有很多是旧的或者是介绍不全的,在这里全面总结一 阅读全文
posted @ 2018-06-25 23:19 zzfx 阅读(286) 评论(0) 推荐(0) 编辑
摘要:原文地址:android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解 作者: 原文地址:android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解  阅读全文
posted @ 2018-06-25 22:47 zzfx 阅读(695) 评论(0) 推荐(0) 编辑
摘要:1.java的关键字(keyword)有多少个? 51+2个保留字=53个关键字(java的关键字都是小写的!!) 2.java的保留字(reserve word)有多少个?问题:分别是什么? 2个保留字 Java语言的的保留字是指预留的关键字 1).const 有道释义:n. 常量,常数 用于修改 阅读全文
posted @ 2018-06-25 15:23 zzfx 阅读(615) 评论(0) 推荐(1) 编辑
摘要:抽象类与类型定义相关; 接口类与行为规范相关; 接口类不是类型。 抽象类:是不完整的类,函数实现未定义;可以继承,不可以实例化。 接口类:接口类不是类;是类间交互的规范;不能继承、不能实例化,只能实现。 接口类:协议类。 接口类是抽象类的二次抽象,将抽象类中的数据移除。 接口类只依赖通用数据,不依赖 阅读全文
posted @ 2018-06-25 12:56 zzfx 阅读(148) 评论(0) 推荐(0) 编辑
摘要:简单说: 1.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,2.JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,3.继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了 , 比如 clas 阅读全文
posted @ 2018-06-25 12:37 zzfx 阅读(258) 评论(0) 推荐(0) 编辑
摘要:self.usernameTF.rx.text.orEmpty.map 一堆类型转化+数据处理的操作 self.usernameTF.rx:将textfiled用Reactive封装; .text:监听和绑定text filed的值; .orEmpty对上面的操作进行抽离简化二次封装; .map使用 阅读全文
posted @ 2018-06-25 11:30 zzfx 阅读(843) 评论(0) 推荐(0) 编辑
摘要:1、block需要(拷贝)保存; 2、block引用的环境变量需要处理。 相当于oc中的copy block。 Escaping Closures A closure is said to escape a function when the closure is passed as an argu 阅读全文
posted @ 2018-06-22 18:52 zzfx 阅读(191) 评论(0) 推荐(0) 编辑
摘要:monad-类型构造与转换器 阅读全文
posted @ 2018-06-22 16:03 zzfx 阅读(176) 评论(0) 推荐(0) 编辑
摘要:函数作为参数传递,只是组件的传递过程; 函数的执行过程是函数的配置、组建和执行的过程。 阅读全文
posted @ 2018-06-22 15:15 zzfx 阅读(184) 评论(0) 推荐(0) 编辑
摘要:@interface sqlitManager : NSObject +(instancetype)sharedSqlitManager; -(void)createDB; -(void)createTabel; -(void)insertTable; -(void)checkTable; @end 阅读全文
posted @ 2018-06-21 19:26 zzfx 阅读(157) 评论(0) 推荐(0) 编辑
摘要:数据映射:根据数据的结构信息建立数据间的映射操作机制。 数据映射的要素: 一、数据 1、源数据; 2、目标数据; 3、数据间关系; 4、数据的元数据(结构信息)。 5、元素类型的对应关系。 二、元数据的获取: 1、描述文件:coredata的momd文件,数据库的表结构; 2、结构信息:使用运行时的 阅读全文
posted @ 2018-06-21 15:40 zzfx 阅读(1104) 评论(0) 推荐(0) 编辑
摘要:元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。 Metadata is "data [information] that provides information about other data".[1] Many distinct types of metada 阅读全文
posted @ 2018-06-21 15:20 zzfx 阅读(359) 评论(0) 推荐(0) 编辑
摘要:NSPersistentStoreCoordinator(Persistent Store Coordinator),缩写为PSC:存储信息+结构信息(MOM) NSManagedObjectModel(Managed Object Model),缩写为MOM:结构信息 NSManagedObjec 阅读全文
posted @ 2018-06-21 12:00 zzfx 阅读(127) 评论(0) 推荐(0) 编辑
摘要:赋值:可以 实例化:不行 声明变量(参量):初级抽象类型可以,高阶类型不可以 声明类型:高阶类型只能用于声明类型,初级抽象类型即可以声明类型也可以声明变量。 操纵桥接(抽象层面的联系建立) 阅读全文
posted @ 2018-06-20 17:07 zzfx 阅读(113) 评论(0) 推荐(0) 编辑
摘要:顶级分类: Nominal type system structural systems In computer science, a nominal or nominative type system (or name-based type system) is a major class of  阅读全文
posted @ 2018-06-20 16:46 zzfx 阅读(298) 评论(0) 推荐(0) 编辑
摘要:一、协议定义与实现: 1、关联类型; 2、协议组合; 3、协议扩展; 4、协议实现。 二、协议使用: 阅读全文
posted @ 2018-06-20 11:49 zzfx 阅读(112) 评论(0) 推荐(0) 编辑
摘要:1、swift对象内存模型; 2、指针操作; 3、协议、泛型、扩展; 4、kvc; 1是所有实现的基础,没有内存对象(类)模型,后面的一切都我从谈起。 在1的基础上使用2进行对象模型信息的提取和转换。 目前我手上没有完备的swift内存对象模型资料。 阅读全文
posted @ 2018-06-20 11:33 zzfx 阅读(97) 评论(0) 推荐(0) 编辑
摘要:var fieldNames: [String] { let p = UnsafePointer<Int32>(self.pointer) return Array(utf8Strings: relativePointer(base: p.advanced(by: 3), offset: self. 阅读全文
posted @ 2018-06-19 19:34 zzfx 阅读(239) 评论(0) 推荐(0) 编辑
摘要:在 Swift 的世界中,如果我们将协议称之为国王,那么泛型则可以视作皇后,所谓一山不容二虎,当我们把这两者结合起来使用的时候,似乎会遇到极大的困难。那么是否有一种方法,能够将这两个概念结合在一起,以便让它们成为我们前进道路上的垫脚石,而不是碍手碍脚的呢?答案是有的,这里我们将会使用到类型擦除 (T 阅读全文
posted @ 2018-06-19 19:29 zzfx 阅读(475) 评论(0) 推荐(0) 编辑
摘要:Swift Method Dispatching When announcing Swift, Apple described it as being much faster than Objective-C. On the web, there is a number of comparsions 阅读全文
posted @ 2018-06-15 15:18 zzfx 阅读(203) 评论(0) 推荐(0) 编辑
摘要:前言 阿里云APP组件化过程中,我们拆分出了若干基础组件库和业务代码库,由于代码是采用Swift编写的,所以这些库都是动态库形式。在上一个正式版本,组件化达到了完全形态,主工程只剩下一个壳,所有代码都以pod组件的形式引入,最后交付的是一个主工程的壳二进制程序,和十几个动态库Framework。这些 阅读全文
posted @ 2018-06-15 15:17 zzfx 阅读(677) 评论(0) 推荐(0) 编辑
摘要:编译器最重要的工作就是确定对象内存模型 阅读全文
posted @ 2018-06-15 15:06 zzfx 阅读(186) 评论(0) 推荐(0) 编辑
摘要:目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objective-C类不能动态添加成员变量 总结 版权声明: 版权声明: 看下面的代码,考虑Objectiv 阅读全文
posted @ 2018-06-15 13:25 zzfx 阅读(889) 评论(0) 推荐(0) 编辑
摘要:MemoryLayout 基本使用方法 HandyJSON 是 Swift 处理 JSON 数据的开源库之一,类似 JOSNModel,它可以直接将 JSON 数据转化为类实例在代码中使用。 由于 Swift 是一种静态语言,没有 OC 那种灵活的 Runtime 机制,为了达到类似 JSONMod 阅读全文
posted @ 2018-06-14 17:51 zzfx 阅读(1053) 评论(0) 推荐(0) 编辑
摘要:引言 在学习计算机的过程中,经常会接触到 “透明” 和 “非透明” 的概念。 刚开始理解 “透明” 这个概念的时候,认为 “透明” 就是程序员可以看见其中的构造,但是老师却说透明是程序员意识不到其中的存在,所以对这个概念一直都有些困惑。 后面接触到 “不透明” 这个概念的时候,意味着程序员看不到其中 阅读全文
posted @ 2018-06-14 17:23 zzfx 阅读(662) 评论(0) 推荐(0) 编辑
摘要:Both class and structure can do: Define properties to store values Define methods to provide functionality Be extended Conform to protocols Define int 阅读全文
posted @ 2018-06-14 15:45 zzfx 阅读(144) 评论(0) 推荐(0) 编辑
摘要:namedClass:静态类型;与类型实现直接关联;可以用于初始化、类型检查等。 namedClass.self:@thick,脱敏(脱关)类型;动态类型;可以作为元类型的实例;可以作为类型参量进行传递; 可以用于继承体系; 使用脱敏类型进行初始化时,需要与具体类型进行绑定。 func forCla 阅读全文
posted @ 2018-06-14 12:00 zzfx 阅读(476) 评论(0) 推荐(0) 编辑
摘要:类型系统与编译器密切相关; 类型系统住在变量的生成、转化和访问。 类型系统是一种格式、结构。 阅读全文
posted @ 2018-06-14 10:42 zzfx 阅读(129) 评论(0) 推荐(0) 编辑
摘要:一、强类型语言 强类型语言是一种强制类型定义的语言,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了,强类型语言包括Java、.net 、Python、C++等语言。 举个例子:定义了一个整数,如果不进行强制的类型转换,则不可以将该整数转化为字符串。 二、弱类型语言 弱类型语言 阅读全文
posted @ 2018-06-13 22:37 zzfx 阅读(221) 评论(0) 推荐(0) 编辑
摘要:动态即变化。 即表现与实现的分离。 即实现的结构可变。 即把信息和关系的确定从编译时放到运行时。 阅读全文
posted @ 2018-06-13 22:35 zzfx 阅读(85) 评论(0) 推荐(0) 编辑
摘要:静态类型:编译阶段类型检查,编译器负责。 动态类型:运行时类型检查,程序员负责。 灵活性与多干活的二难。 阅读全文
posted @ 2018-06-13 19:44 zzfx 阅读(171) 评论(0) 推荐(0) 编辑
摘要:as 1、编译器进行类型转换合法性检查;静态 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: shoppingList[indexPath.section], for: indexPath as IndexPath 阅读全文
posted @ 2018-06-13 19:36 zzfx 阅读(819) 评论(0) 推荐(0) 编辑
摘要:在Swift中能够表示 “任意” 这个概念的除了 Any 和 AnyObject 以外,还有一个AnyClass。我们能够使用AnyClass协议作为任意类型实例的具体类型。AnyClass在Swift中被所定义: [javascript] view plain copy typealias Any 阅读全文
posted @ 2018-06-13 17:22 zzfx 阅读(203) 评论(0) 推荐(0) 编辑
摘要:在泛型T.Type中,T.Type类型的参量只是泛型初始化的一环,传入的参量理论上只负责泛型的类型的确定。 类型:swift中的类型通过.self获取。 阅读全文
posted @ 2018-06-13 17:16 zzfx 阅读(123) 评论(0) 推荐(0) 编辑
摘要:https://kotlinlang.org/docs/reference/lambdas.html 阅读全文
posted @ 2018-06-12 23:44 zzfx 阅读(96) 评论(0) 推荐(0) 编辑
摘要:Dispatch Queues and Thread Safety It might seem odd to talk about thread safety in the context of dispatch queues, but thread safety is still a releva 阅读全文
posted @ 2018-06-12 18:00 zzfx 阅读(156) 评论(0) 推荐(0) 编辑
摘要:返回值:嵌套函数or闭包; 返回函数地址与表达式; 而不是计算结果。 参数:函数作为参数被传进高阶函数时,是作为值传递的; 在高阶函数内部,作为值的函数会被调用;高阶函数为此函数提供上下文。 作为入参的函数的函数签名的形参不是必须的。 除非作为匿名函数或闭包存在。 阅读全文
posted @ 2018-06-12 16:28 zzfx 阅读(185) 评论(0) 推荐(0) 编辑
摘要:It is used to create an alias name for another data type. The syntax of the typedef declaration is:[2] In Swift, typedef is called typealias: typealia 阅读全文
posted @ 2018-06-11 18:34 zzfx 阅读(130) 评论(0) 推荐(0) 编辑
摘要:偏函数应用指的是固化函数的一个或一些参数,从而产生一个新的函数。比如我们有一个记录日志的函数: 1: def log(level, message): 2: print level + ": " + message 3: 4: #usage 5: log("Warning", "this is on 阅读全文
posted @ 2018-06-11 16:34 zzfx 阅读(343) 评论(0) 推荐(0) 编辑
摘要:柯里化相当于函数重构; 偏函数相当于函数适配。 So, what is the difference between currying and partial application? As we stated before: Currying: Ability to decompose a fun 阅读全文
posted @ 2018-06-11 16:27 zzfx 阅读(436) 评论(0) 推荐(0) 编辑
摘要:函数式编程也遵循数据结构+算法的编程范式。 数据结构为高阶类型; 算法为算子,高阶函数。 函数式编程关心数据的映射,命令式编程关心解决问题的步骤 这里的映射就是数学上“函数”的概念—— 一种东西和另一种东西之间的对应关系。 这也是为什么“函数式编程”叫做“函数式编程”。 阅读全文
posted @ 2018-06-11 10:51 zzfx 阅读(329) 评论(0) 推荐(0) 编辑
摘要:高阶:意味着可变、变化;多态。 动态绑定。 阅读全文
posted @ 2018-06-08 23:55 zzfx 阅读(544) 评论(0) 推荐(0) 编辑
摘要:变量:传递、存取、变化。函数:传递、执行(结合)、操作。 函数作为参量、变量。 函数调用。 函数运算。 In computer science, function composition (not to be confused with object composition) is an act o 阅读全文
posted @ 2018-06-08 18:57 zzfx 阅读(141) 评论(0) 推荐(0) 编辑
摘要:泛函编程(23)-泛函数据类型-Monad http://www.cnblogs.com/tiger-xc/p/4461807.html https://blog.csdn.net/samsai100/article/details/71512702 阅读全文
posted @ 2018-06-08 18:49 zzfx 阅读(131) 评论(0) 推荐(0) 编辑
摘要:高阶函数,又称算子(运算符)或泛函,包含多于一个箭头的函数。 在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数: 接受一个或多个函数作为输入 输出一个函数 接受一个或多个函数作为输入 输出一个函数 数学 数学 在数学中它们叫算子(运算符)或泛函。微积分中的导数就是常见的例子,因为它映射一个 阅读全文
posted @ 2018-06-08 18:48 zzfx 阅读(212) 评论(0) 推荐(0) 编辑
摘要:拓扑是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的一个学科。它只考虑物体间的位置关系而不考虑它们的形状和大小。 拓扑是集合上的一种结构。 拓扑英文名是Topology,直译是地志学,最早指研究地形、地貌相类似的有关学科。几何拓扑学是十九世纪形成的一门数学分支,它属于几何学的范畴。 “代 阅读全文
posted @ 2018-06-08 18:40 zzfx 阅读(858) 评论(0) 推荐(0) 编辑
摘要:范畴即为结构:包含要素和转化。 范畴为高阶类型。 函子为高阶函数。函子的输入为态射。函子为建立在态射基础上的高阶函数。函子用于保持范畴间映射的结构。态射用于范畴内部的转换。 群为运算规则的约束。 自函子是一类比较特殊的函子,它是一种将范畴映射到自身的函子 (A functor that maps a 阅读全文
posted @ 2018-06-08 18:27 zzfx 阅读(2507) 评论(0) 推荐(0) 编辑
摘要:范畴论完全装逼手册 / Grokking Monad 范畴论完全装逼手册(一) / Grokking Monad 范畴论完全装逼手册(二) / Grokking Monad 范畴论完全装逼手册(三) / Grokking Monad Table of Contents 第一部分:范畴论Catergo 阅读全文
posted @ 2018-06-08 17:27 zzfx 阅读(1424) 评论(0) 推荐(0) 编辑
摘要:函数式编程关心类型(代数结构)之间的关系,命令式编程关心解决问题的步骤 函数式编程也遵从 数据结构+算法 的约束。 关心的是结构的映射或者变换。 https://www.cnblogs.com/feng9exe/p/8649843.html 函数式编程即为:构造类型的映射关系。 函数式编程不仅仅设计 阅读全文
posted @ 2018-06-08 17:07 zzfx 阅读(336) 评论(0) 推荐(0) 编辑
摘要:函子是两个范畴之间的一种映射(关系) 阅读全文
posted @ 2018-06-08 16:35 zzfx 阅读(215) 评论(0) 推荐(0) 编辑
摘要:大致介绍了幺半群(monoid)后,我们重新回顾最初引用wadler(haskell委员会成员,把monad引入haskell的家伙)的那句话: 现在我们来解读这句话中包含的另一个概念:自函子(Endofunctor),不过我们先需要一些铺垫: 首先,什么是函子(Functor)? 乍一看名字,以为 阅读全文
posted @ 2018-06-08 16:23 zzfx 阅读(517) 评论(0) 推荐(0) 编辑
摘要:One of the more powerful features Scala has is the ability to generically abstract across things that take type parameters. This feature is known as H 阅读全文
posted @ 2018-06-08 16:22 zzfx 阅读(182) 评论(0) 推荐(0) 编辑
摘要:http://adriaanm.github.io/files/higher.pdf https://www.atlassian.com/blog/archives/scala-types-of-a-higher-kind 阅读全文
posted @ 2018-06-08 15:54 zzfx 阅读(142) 评论(0) 推荐(0) 编辑
摘要:, pronounced "type", is the kind of all data types seen as nullary type constructors, and also called proper types in this context. This normally incl 阅读全文
posted @ 2018-06-08 15:14 zzfx 阅读(241) 评论(0) 推荐(0) 编辑
摘要:高级类类型就是使用其他类型构造成为一个新的类型,因此也称为 类型构造器(type constructors)。它的语法和高阶函数(higher-order functions)相似,高阶函数就是将其它函数作为参数的函数;高级类类型则是将构造类类型作为参数类型。一个高级类类型可以有一个或者多个类型作为 阅读全文
posted @ 2018-06-08 14:53 zzfx 阅读(830) 评论(0) 推荐(0) 编辑
摘要:首先我们从最基本的泛型来看: 现在我们对上面泛型中的类型参数再进一步,也是个泛型会如何呢? 可以看到,java中不支持类型参数也是泛型类型的情况,而scala支持。这是一个很重要的区别,scala在类型系统上要比java强大。我们现在简单对类型归纳一下,可以分为两类: 1)特定类型(proper t 阅读全文
posted @ 2018-06-08 14:52 zzfx 阅读(368) 评论(0) 推荐(0) 编辑
摘要:https://wiki.haskell.org/All_About_Monads 阅读全文
posted @ 2018-06-07 23:26 zzfx 阅读(133) 评论(0) 推荐(0) 编辑
摘要:前言 近期又开始折腾起Haskell,掉进这个深坑恐怕很难再爬上来了。在不断深入了解Haskell的各种概念以及使用它们去解决实际问题的时候,我会试想着将这些概念移植到Swift中。函数式编程范式的很多概念在Swift等主打面向对象范式的语言中就像各种设计模式一样,优雅地帮助我们构建好整个项目,促使 阅读全文
posted @ 2018-06-07 23:09 zzfx 阅读(235) 评论(0) 推荐(0) 编辑
摘要:I have been trying to teach myself Functional Programming since late 2013. Many of the concepts are very daunting because of their somewhat academic n 阅读全文
posted @ 2018-06-07 23:07 zzfx 阅读(177) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/sinat_25226993/article/details/44415803 阅读全文
posted @ 2018-06-07 19:43 zzfx 阅读(419) 评论(0) 推荐(0) 编辑
摘要:https://wiki.haskell.org/wikiupload/8/85/TMR-Issue13.pdf By Brent Yorgey, byorgey@gmail.com Originally published 12 March 2009 in issue 13 of the Mona 阅读全文
posted @ 2018-06-07 19:41 zzfx 阅读(266) 评论(0) 推荐(0) 编辑
摘要:Typeclassopedia 阅读笔记 本文是对介绍 Haskell 中类型类(type classes)的文档 Typeclassopedia 的阅读笔记和简短总结,包含此文档中重要的知识点。读者请配合原文档阅读使用。 注意事项 首先,Typeclassopedia 并非介绍 Haskell 基 阅读全文
posted @ 2018-06-07 19:37 zzfx 阅读(255) 评论(0) 推荐(0) 编辑
摘要:对于大多数刚刚入门函数式编程的同学来说,monad(单子、又叫单体)可能是这里面的一道坎。你可能对 map 、 flatMap 以及 filter 再熟悉不过,可是到了高阶的抽象层次上就又会变得一脸懵逼。其实每个人在学习的阶段都会经历这个过程,不过希望这篇文章能让你重新理解 monad 以及其他相关 阅读全文
posted @ 2018-06-07 19:35 zzfx 阅读(166) 评论(0) 推荐(0) 编辑
摘要:高阶函数和类型系统是函数式编程的两大基石。 缺少任何一个函数式编程都将寸步难行。 阅读全文
posted @ 2018-06-07 19:19 zzfx 阅读(84) 评论(0) 推荐(0) 编辑
摘要:reading the "The Typeclassopedia" by Brent Yorgey in Monad.Reader#13 ,and found that "the Functor hierachy" is interdependent of "the Category hierach 阅读全文
posted @ 2018-06-07 19:17 zzfx 阅读(93) 评论(0) 推荐(0) 编辑
摘要:多态有类型系统衍生。 有限类型、无限类型、确定类型。 Classifications Christopher Strachey (1967) introduced the concept of polymorphism informally into procedural programming l 阅读全文
posted @ 2018-06-07 16:47 zzfx 阅读(277) 评论(0) 推荐(0) 编辑
摘要:如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。本文介绍的是Overload和Override的区别。 Overload是重载的意 阅读全文
posted @ 2018-06-07 16:37 zzfx 阅读(476) 评论(0) 推荐(0) 编辑
摘要:In programming languages and type theory, polymorphism (from Greek πολύς, polys, "many, much" and μορφή, morphē, "form, shape") is the provision of a 阅读全文
posted @ 2018-06-07 16:32 zzfx 阅读(286) 评论(0) 推荐(0) 编辑
摘要:Type inference refers to the automatic detection of the data type of an expression in a programming language. Type inference is the ability to automat 阅读全文
posted @ 2018-06-07 16:12 zzfx 阅读(142) 评论(0) 推荐(0) 编辑
摘要:与面向对象中的接口类或抽象类中定义的函数组类似; 函数的具体执行依赖与函数医用的类型。 In programming languages, ad-hoc polymorphism[1] is a kind of polymorphism in which polymorphic functions 阅读全文
posted @ 2018-06-07 15:45 zzfx 阅读(239) 评论(0) 推荐(0) 编辑
摘要:无法在一个class上extend多个abstract class,但是你可以use多个trait abstract class是在类型系统上做文章,trait片段是mixin 类型约束 代码复用 class 是 是 interface 是 否 trait 否 是 阅读全文
posted @ 2018-06-07 15:31 zzfx 阅读(264) 评论(0) 推荐(0) 编辑
摘要:对泛型的类型添加约束,从而使泛型类型的变量具有某种通用操作。 再使用这些操作,参与到其它操作中。 In computer science, a type class is a type system construct that supports ad hoc polymorphism. This 阅读全文
posted @ 2018-06-07 15:21 zzfx 阅读(199) 评论(0) 推荐(0) 编辑
摘要:类型约束 相信你还记得前面一篇文章中的泛型方法,在这个泛型方法中,我们就使用了类型约束。 类型约束(type constraint)进一步控制了可指定的类型实参,当我们创建自己的泛型类型或者泛型方法的时候,类型约束是很有用的。 回到前一篇例子中的泛型方法,这个泛型方法就要求可指定的类型实参必须实现了 阅读全文
posted @ 2018-06-07 14:46 zzfx 阅读(541) 评论(0) 推荐(0) 编辑
摘要:In functional programming, a monad is a design pattern that defines how functions, actions, inputs, and outputs can be used together to build generic 阅读全文
posted @ 2018-06-07 12:47 zzfx 阅读(177) 评论(0) 推荐(0) 编辑
摘要:C++泛型 C++泛型跟虚函数的运行时多态机制不同,泛型支持的静态多态,当类型信息可得的时候,利用编译期多态能够获得最大的效率和灵活性。当具体的类型信息不可得,就必须诉诸运行期多态了,即虚函数支持的动态多态。 对于C++泛型,每个实际类型都已被指明的泛型都会有独立的编码产生,也就是说list<int 阅读全文
posted @ 2018-06-07 11:31 zzfx 阅读(408) 评论(0) 推荐(0) 编辑
摘要:Ad hoc polymorphism 阅读全文
posted @ 2018-06-06 19:48 zzfx 阅读(116) 评论(0) 推荐(0) 编辑
摘要:Functor、Applicative 和 Monad Posted by 雷纯锋Nov 8th, 2015 10:53 am Functor、Applicative 和 Monad 是函数式编程语言中三个非常重要的概念,尤其是 Monad ,难倒了不知道多少英雄好汉。事实上,它们的概念是非常简单的 阅读全文
posted @ 2018-06-06 18:02 zzfx 阅读(356) 评论(0) 推荐(0) 编辑
摘要:函数混人; 函数的结合; 基础是高阶函数或者说函数的可参量化。 阅读全文
posted @ 2018-06-06 17:07 zzfx 阅读(152) 评论(0) 推荐(0) 编辑
摘要:计算属性每次都重新计算。 懒加载只计算一次。 可以借助backing store将计算属性转化为懒加载属性。 计算属性实质上退化为函数调用。 计算属性的标示是get、set。 阅读全文
posted @ 2018-06-06 16:28 zzfx 阅读(387) 评论(0) 推荐(0) 编辑
摘要:只是一种语法和逻辑上的优化 阅读全文
posted @ 2018-06-06 15:27 zzfx 阅读(132) 评论(0) 推荐(0) 编辑
摘要:oc的懒加载依赖于属性的双重属性的函数属性部分。 懒加载的本质是执行get函数。 swift的lazy,理论上与此类似。 编译器优化时可能对初始化块进行了保存。 懒加载的本质是延迟执行。 只要是执行,必定有调用; 只要有延迟,必然有保存。 #pragma mark - getter // 导航栏 / 阅读全文
posted @ 2018-06-06 14:23 zzfx 阅读(363) 评论(0) 推荐(0) 编辑
摘要:函数编程中functor和monad的形象解释 函数编程中Functor函子与Monad是比较难理解的概念,本文使用了形象的图片方式解释了这两个概念,容易理解与学习,分别使用Haskell和Swift两种语言为案例。 虽然Swift并不是一个函数式语言,但是我们可以用更多点代码来完成与Haskell 阅读全文
posted @ 2018-06-05 23:14 zzfx 阅读(322) 评论(0) 推荐(0) 编辑
摘要:第一次使用的时候进行计算和初始化,后面的引用不在进行计算。 A lazy stored property is a property whose initial value is not calculated until the first time it is used. You indicate 阅读全文
posted @ 2018-06-05 19:44 zzfx 阅读(119) 评论(0) 推荐(0) 编辑
摘要:Block Functionality A block is an anonymous inline collection of code that: Has a typed argument list just like a function Has an inferred or declared 阅读全文
posted @ 2018-06-05 18:57 zzfx 阅读(103) 评论(0) 推荐(0) 编辑
摘要:lambda表达式是函数式编程中的匿名函数语法规范。 In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function d 阅读全文
posted @ 2018-06-05 18:50 zzfx 阅读(136) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示