`

函数对象作为case语句中的条件

    博客分类:
  • Ruby
阅读更多
Ruby 1.9的Proc#===作为call的一个别名,所以函数对象可以作为case语句中的条件
def multiple_of(factor)
    lambda{|num| num % factor == 0}
end
#or
#def multiple_of(factor)
#    proc{|num| num % factor == 0}
#end
#
while number = gets.to_i
    case number
        when multiple_of(2)
            puts "multiple of 2"
        when multiple_of(3)
            puts "multiple of 3"
        when multiple_of(5)
            puts "multiple of 5"
        else
            puts "#{number} is not multiple of 2,3,5" 
    end
end
分享到:
评论

相关推荐

    oracle case语句的介绍

    在 Oracle 数据库中,CASE 语句是一种非常实用且灵活的条件判断表达式,它可以用于根据不同的条件返回不同的值。CASE 语句可以分为两种类型:简单 CASE 语句和搜索 CASE 语句。 - **简单 CASE 语句**(Simple CASE ...

    用函数指针替代Switch/Case语句的程序设计方法

    单片机程序中,当Switch/Case语句分支较多、处理代码较长、处理情况较为复杂时,逻辑修改和程序调试均存在一定的困难。针对该问题,本文给出了使用函数指针替代Switch/Case语句的实现思路以及相对应的代码模型,为...

    Oracle-Decode()函数和CASE语句的比较

    Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...

    SQL中Case语句用法讨论_BJ

    ### SQL中的Case语句深入解析 在SQL查询语言中,`Case`语句是一个非常强大的功能,用于在查询中执行条件判断,它可以根据不同的条件返回不同的结果,这使得SQL能够处理更加复杂的数据筛选和转换需求。`Case`语句有...

    Delphi高级Case语句应用实例..rar

    5. **类型转换**:在`case`语句中,可以使用类型转换函数来处理不同类型的值。例如,如果一个整数值代表字符串的索引,可以这样做: ```delphi var Index: Integer; begin Index := 2; case Index of 1: ...

    if嵌套与case语句.doc

    2. 情况常量应与情况表达式具有相同类型,并且不可重复在同一`case`语句中。 3. 情况常量的顺序可以任意。 4. 如果情况表达式的值未匹配到任何情况常量,则跳过当前`case`语句。 5. 在Turbo Pascal中,可以添加一个`...

    mysql存储过程之case语句用法实例详解

    MySQL中的CASE语句是SQL语言中的一个重要组成部分,它在存储过程和复杂查询中扮演着条件判断的角色,使得代码更加简洁易读。CASE语句提供了两种形式:简单CASE和可搜索CASE。 1. 简单CASE语句: 简单CASE语句主要...

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    CASE WHEN 语句是 SQL 中的一种条件语句,用于实现多个条件的判断和执行。它可以用来代替 IF 语句和 SWITCH 语句,在 Oracle 数据库中尤其常用。 CASE WHEN 语句的基本语法是: ```sql CASE WHEN 条件 THEN 结果 ...

    基于C语言实现switch case语句(源码)

    使用switch case语句根据不同的成绩等级进行匹配和输出相应的评价。在这里,使用了case语句的多值匹配,例如'A'和'a'都会输出"Excellent!"。 如果用户输入的成绩等级不在'A'、'B'、'C'、'D'、'F'范围内,则执行...

    二进制翻译中跳转表恢复case语句

    在IA-64架构中,跳转表是处理多条件分支(如case语句)的常见方法,尤其在优化编译器生成的代码中。本文聚焦于如何在二进制翻译过程中恢复这些跳转表和它们的目标地址,以提高翻译覆盖率。 在C语言中,`switch`语句...

    详细解析 mysql 中的 case when 语句的使用

    - CASE语句可以根据一个表达式的值与一系列的比较值进行匹配,当找到匹配的值时,返回对应的值。 - 如果没有找到匹配的值,且存在ELSE子句,则返回ELSE子句中的值;若不存在ELSE子句,则返回NULL。 3. **应用场景...

    switch 语句与 case 语句一起使用,每个 case 对应一个可能的值.rar

    在编程语言中,`switch`语句和`case`语句是控制流程的重要组成部分,尤其在处理多条件分支时显得尤为高效。它们通常用于替代多个`if...else if...else`结构,使得代码更加简洁易读。下面我们将深入探讨`switch`语句...

    C#使用函数设置条件

    "C#使用函数设置条件"这个主题主要涉及到如何在函数中使用条件语句来控制程序的流程,以满足特定的需求。下面我们将深入探讨这一知识点。 1. **函数基础**: 在C#中,函数使用`void`或特定返回类型(如`int`, `...

    JS分类语句大全

    本文将详细介绍JavaScript语言中各种分类语句的用法和特点,包括赋值语句、return语句、条件分支语句、循环语句、对象操作语句、注释语句、函数定义语句等。 1. 赋值语句:var var语句声明了一个变量的名称,同时也...

    MATLAB中的switch-case判断语句与for循环语句.md

    在MATLAB编程环境中,`switch-case`语句和`for`循环是两个非常重要的控制流程结构,它们可以帮助程序员根据不同的条件执行特定的操作,以及重复执行一系列操作直到满足指定的条件。 - **switch-case**语句:此结构...

    Visual Basic.NET语句与函数大全

    这本书会详细介绍各种类型的语句,包括控制流语句(如条件语句If...Then、选择语句Select Case、循环语句For...Next、While...End While等)、声明语句(如Dim用于定义变量)、赋值语句(将值分配给变量)以及异常...

    计算机二级C语言考点18switch-case语句.pdf

    C语言中的switch-case语句是程序设计中常用的多分支选择语句。它允许根据表达式的值,选择执行特定的代码分支。在C语言二级考试中,switch-case语句是考查的重点之一,以下是关于该考点的知识点详解。 1. switch-...

    PB脚本中SQL语句写法与SQL中语句写法对照

    在SQL语言中,可以使用Update表名Set字段名=case字段名when值1then值2else值三endFrom表名Where条件语句来实现条件语句的写法。 四、取余函数Mod() 在PB脚本中,可以使用Mod(要取余数的值,取余值)函数来实现取余数...

    论SQL Server数据库中Case函数的作用.pdf

    Case函数能够在SELECT语句中对数据进行条件筛选,它还可以在UPDATE语句中根据当前值计算新的值,甚至可以在ORDER BY子句中对结果集进行排序,以及在HAVING子句中对分组后的数据进行条件过滤。 举例来说,在SELECT...

Global site tag (gtag.js) - Google Analytics