`

函数对象作为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'范围内,则执行...

    详细解析 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...

    decode函数与case when 的妙用

    在数据库管理和SQL编程中,`DECODE`函数和`CASE WHEN`语句是两种非常重要的逻辑判断工具,它们常用于处理条件分支和数据转换。在这篇文章中,我们将深入探讨这两种方法的用途、区别以及如何巧妙地运用它们。 首先,...

Global site tag (gtag.js) - Google Analytics