上一页 1 ··· 66 67 68 69 70 71 72 73 74 ··· 102 下一页
摘要: 链式编程是函数式编程计算构建的一部分。 是计算构建器的实现。 阅读全文
posted @ 2018-03-28 17:59 zzfx 阅读(131) 评论(0) 推荐(0)
摘要: 本文记录一些关于学习ReactiveCocoa基础知识内容,对于ReactiveCocoa相关的概念如果不了解可以网上搜索;RACSignal有很多方法可以来订阅不同的事件类型,ReactiveCocoa框架使用category来为很多基本UIKit控件添加signal。本文有收集一些网上其它文章的 阅读全文
posted @ 2018-03-28 17:52 zzfx 阅读(201) 评论(0) 推荐(0)
摘要: ReactiveCocoa简单使用20例 两个管串联,一个管处理完自己的东西,下一个管才开始处理自己的东西 两个管并联,只要有一个管有东西,就拿出来处理它。 阅读全文
posted @ 2018-03-28 15:28 zzfx 阅读(314) 评论(0) 推荐(0)
摘要: 面向对象: 一切皆对象;通过对象的构建和组合来模拟系统,最终通过这个系统来解决问题。 消息和信息在这个系统中流转。 语言的底层支持就是通过对象来构建以对象为单元的联系的系统。 函数式编程: 一切皆计算;这个系统就是通过计算单元的组合构建成更大的计算单元,从而完成对信息和信号的处理。 本质上就是构建一 阅读全文
posted @ 2018-03-28 10:54 zzfx 阅读(406) 评论(0) 推荐(0)
摘要: 惰性求值的本质是计算保存、计算构建和计算触发机制实现。 MASConstraint的实现是其典型案例。(本结论为错)。 [self.userIcon mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(15) 阅读全文
posted @ 2018-03-27 19:34 zzfx 阅读(813) 评论(0) 推荐(0)
摘要: 命令式关注实现细节; 声明式关注组成逻辑。 命令式编程强调执行上的顺序; 声明式编程强调逻辑上的行为和顺序。 阅读全文
posted @ 2018-03-27 19:18 zzfx 阅读(142) 评论(0) 推荐(0)
摘要: 定义映射(计算),执行映射(计算) 对于函数式编程来说,其只关心,定义输入数据和输出数据相关的关系,数学表达式里面其实是在做一种映射(mapping),输入的数据和输出的数据关系是什么样的,是用函数来定义的。 函数式编程思想:先构造计算树,然后执行计算树。 函数式编程的开发过程是编写计算实现、调用约 阅读全文
posted @ 2018-03-27 18:59 zzfx 阅读(262) 评论(0) 推荐(0)
摘要: flattenMap使用步骤: 1.传入一个block,block类型是返回值RACStream,参数value 2.参数value就是源信号的内容,拿到源信号的内容做处理 3.包装成RACReturnSignal信号,返回出去。 flattenMap底层实现: 0.flattenMap内部调用bi 阅读全文
posted @ 2018-03-27 16:04 zzfx 阅读(1030) 评论(0) 推荐(0)
摘要: A monad is created by defining a type constructor M and two operations, bind and return (where return is often also called unit): The unary return ope 阅读全文
posted @ 2018-03-27 12:53 zzfx 阅读(161) 评论(0) 推荐(0)
摘要: Functor的代码表示 接下来我们用Scala实现Monad的定义: 还有一种更为常见的定义方式,在Scala中Monad也是以这种方式出现: 要满足这两点,我们需要一个类型构造器 我们现在可以把这个定义再简化一些,类型的映射方法可以不用,并把它作为一个type class: 阅读全文
posted @ 2018-03-27 11:08 zzfx 阅读(187) 评论(0) 推荐(0)
摘要: 仿函数(functor),就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。 In computer programming, a function object[a] is a construct allowing an 阅读全文
posted @ 2018-03-27 10:54 zzfx 阅读(226) 评论(0) 推荐(0)
摘要: 面向签名编程 阅读全文
posted @ 2018-03-26 22:50 zzfx 阅读(160) 评论(0) 推荐(0)
摘要: 函数编程支持函数作为第一类对象,有时称为闭包或者仿函数(functor)对象。实质上,闭包是起函数的作用并可以像对象一样操作的对象。与此类似,FP 语言支持高阶函数。高阶函数可以用另一个函数(间接地,用一个表达式) 作为其输入参数,在某些情况下,它甚至返回一个函数作为其输出参数。这两种结构结合在一起 阅读全文
posted @ 2018-03-26 19:26 zzfx 阅读(156) 评论(0) 推荐(0)
摘要: 函数式编程 函数式编程是种编程方式,它将电脑运算视为函数的计算。 而函数式编程是面向数学的抽象,将计算描述为一种表达式求值,一句话,函数式程序就是一个表达式。 面向计算?! In computer science, functional programming is a programming pa 阅读全文
posted @ 2018-03-26 19:20 zzfx 阅读(261) 评论(0) 推荐(0)
摘要: 关键词:运算、转换、扩展、封装。 函数式编程是围绕高阶函数进行的,设计的核心在于高阶函数的设计。 1、函数式编程通过函数的复合生成更大的结构; 2、函数的操作分为分解和复合;分解即为柯里化,可以分为偏函数分解和彻底分解。复合即为待定系数和调用约定。 3、函数的运算最终转化为代数运算。 4、monad 阅读全文
posted @ 2018-03-26 17:29 zzfx 阅读(275) 评论(0) 推荐(0)
摘要: 维基百科中对偏函数 (Partial application) 的定义为: In computer science, partial application (or partial function application) refers to the process of fixing a num 阅读全文
posted @ 2018-03-26 15:01 zzfx 阅读(406) 评论(0) 推荐(0)
摘要: 什么是泛函编程(Functional Programming)?泛函编程就是用函数编写程序。这个回答太抽象,等于没说。 再说清楚一点:泛函编程就想砌积木一样把函数当成积木块,把函数的输出输入作为积木的楔子和楔孔,把一个函数的输出当作另一个函数的输入组合成一个更大的函数。整个砌积木的过程就是泛函编程。 阅读全文
posted @ 2018-03-26 11:59 zzfx 阅读(165) 评论(0) 推荐(0)
摘要: 函数式编程关心数据的映射,命令式编程关心解决问题的步骤 我想稍微改一下,使其更数学化一点。 函数式编程关心类型(代数结构)之间的关系,命令式编程关心解决问题的步骤 函数式编程中的lambda可以看成是两个类型之间的关系,一个输入类型和一个输出类型。lambda演算就是给lambda表达式一个输入类型 阅读全文
posted @ 2018-03-26 11:36 zzfx 阅读(347) 评论(0) 推荐(0)
摘要: 函数式语言当然还少不了以下特性: 高阶函数(Higher-order function) 偏应用函数(Partially Applied Functions) 柯里化(Currying) 闭包(Closure) 高阶函数就是参数为函数或返回值为函数的函数。有了高阶函数,就可以将复用的粒度降低到函数级 阅读全文
posted @ 2018-03-26 11:35 zzfx 阅读(849) 评论(0) 推荐(0)
摘要: 相信大家平时或多或少听过不少关于“函数式编程” (FP)相关的词语,有些Geek经常吹捧函数式的优点或者特性比如:纯函数无副作用、不变的数据、高阶函数、流计算模式、尾递归、柯里化等等,再加上目前的函数式理论越来越多的应用于工程中,OCaml,clojure, scala等FP语言日渐火爆。本编文章, 阅读全文
posted @ 2018-03-26 11:21 zzfx 阅读(331) 评论(0) 推荐(0)
上一页 1 ··· 66 67 68 69 70 71 72 73 74 ··· 102 下一页