`

Ruby Proc curry化

    博客分类:
  • Ruby
阅读更多
Ruby 1.9 Proc增加了curry方法,可以将Proc进行curry化:
greeting_func = lambda { |name,greeting| puts "#{greeting} #{name}" }.curry
happy_greeting = greeting_func["Happy"]
happy_greeting["New year"]

hello_greeting = greeting_func["Hello"]
hello_greeting["world"]

结合1.9的Proc#===作为call的alias:
weekday = lambda {|day_of_week, time| day_of_week == time.wday}.curry
sunday,monday,tuesday,wednesday,thursday,friday,saturday = (0..6).collect{|i| weekday[i]}

case Time.now
when sunday,saturday
    puts "Day of rest"
when monday,tuesday,wednesday,thursday,friday,saturday
    puts "Day of work"
end
分享到:
评论

相关推荐

    Ruby中的Proc类及Proc的类方法Proc.new的使用解析

    用Proc类可以用Proc.new来创建一个Proc类,进而来操作块,这里我们就来进行Ruby中的Proc类及Proc的类方法Proc.new的使用解析.

    Ruby中proc和lambda的两个区别

    主要介绍了Ruby中proc和lambda的两个区别,本文讲解了在proc和lambda中,return关键字有不同含义、检查参数的方式不同两个重要区别,需要的朋友可以参考下

    proc学习proc学习

    proc学习proc学习proc学习proc学习proc学习proc学习

    linux驱动开发proc文件初步

    proc文件系统讲解,非常详细。 1 收集系统信息 1.0 proc文件系统概览 1.1 进程相关信息子目录 1.2 内核数据 1.3 IDE接口信息 /proc/ide 1.4 网络统计信息 /proc/net 1.5 SCSI接口信息 /proc/scsi 1.6 并行端口信息 /...

    Ruby程序设计语言 (涵盖Ruby 1.8和1.9)源代码

    《Ruby程序设计语言》是Ruby的权威指南,全面涵盖该语言的1.8版和1.9版。本书详尽但并不拘泥于语言规范,既适合首次接触Ruby的资深程序员,同样也适合... Method、proc、lambda和closure  类和模块  反射和元编程

    Ruby编程语言pdf

    在对Ruby进行了简要的综述之后,本书详细介绍了以下内容:Ruby的句法和语法结构,数据结构和对象,表达式和操作符,语句和控制结构,方法、proc、lambda和闭包,反射和元编程,Ruby平台。 本书还包含对Ruby平台上...

    proc 文件系统,proc 文件系统

    proc 文件系统 proc 文件系统 proc 文件系统 proc 文件系统 proc 文件系统

    PROC/C++课程

    PROC简介 3. 宿主变量与指示变量 4. 嵌入SQL语句

    Ruby中的block、proc、lambda区别总结

    在规则引擎中,Ruby 的闭包使用特别频繁,而且有 block,Proc和 lambda 等后几种形式的用法,很让人困惑。为了深入理解代码,再次认真学习了一下 Ruby 的闭包,特别是 block,proc 和 lambda 几种用法的异同,这次的...

    Oracle_Proc教程

    Proc开发文档

    proc经典教程(tuxdo proc 学习手册)

    oracle proc 经典教程

    mysql 的proc 表

    proc.frm proc.MYD proc.MYI

    Ruby编程语言

    在对Ruby进行了简要的综述之后,《Ruby编程语言》详细介绍了以下内容:Ruby的句法和语法结构,数据结构和对象,表达式和操作符,语句和控制结构,方法、proc、lambda和闭包,反射和元编程,Ruby平台。本书还包含对...

    PROC C开发文档

    proc c的程序概述 什么是proc c proc c程序设计的基础知识

    ORACLE文档--PROC

    ProC Precompiler

    使用 proc 文件系统来访问 Linux 内核的内容

    使用 proc 文件系统来访问 Linux 内核的内容使用 proc 文件系统来访问 Linux 内核的内容使用 proc 文件系统来访问 Linux 内核的内容使用 proc 文件系统来访问 Linux 内核的内容使用 proc 文件系统来访问 Linux 内核...

    procman:一个非常简单的Ruby应用程序流程管理器

    普罗曼一个非常简单的系统,用于管理需要在Ruby应用程序中启动/停止/重新启动的进程的列表。 它的工作原理是在应用程序的根目录中定义一个Procfile ,然后使用procman命令整体上启动,停止或重新启动应用程序。 ...

    详解Ruby中的代码块对象Proc

    在Ruby中一个代码块block不是对象,但可以用Proc来替代其作为对象进行操作,接下来我们就来详解Ruby中的代码块对象Proc

    Oracle ProC 程序开发

    提供Oracle ProC程序的开发,详尽的介绍Proc的开发过程

    PROC学习文档,该文档为chm格式,是学习proc的入门资料

    proc的入门学习材料,PROC学习文档,该文档为chm格式,是学习proc的入门资料

Global site tag (gtag.js) - Google Analytics