红宝石案例陈述与比较[重复]

2024-03-10

有没有办法使用caseruby 中整数比较的语句?我发现了很多比较字符串的例子,但是我的case下面的示例因语法错误而失败。

def get_price_rank(price)
    case price
    when <= 40
        return 'Cheap!'
    when 41..50 
        return 'Sorta cheap'
    when 50..60
        return 'Reasonable'
    when 60..70
        return 'Not cheap'
    when 70..80
        return 'Spendy'
    when 80..90
        return 'Expensive!'
    when >= 90
        return 'Rich!'
    end
end

In case..when阻止你不能执行任何比较,除了===。所以我会编写如下代码:

def get_price_rank(price)
    case price
    when 41..50 
        'Sorta cheap'
    when 50..60
        'Reasonable'
    when 60..70
        'Not cheap'
    when 70..80
        'Spendy'
    when 80..90
        'Expensive!'
    else
        if price >= 90
         'Rich!'
        elsif price <= 40
         'Cheap!'
        end
    end
end

return is implicit,因此无需提及。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

红宝石案例陈述与比较[重复] 的相关文章

随机推荐

  • Cloudinary api - 解决承诺

    我想编写一个函数 返回一个布尔值 指示我的 Cloudinary 空间中是否已存在具有指定 public id 的图像 我可以使用以下代码将结果记录到控制台 function isUploaded public id cloudinary
  • 不可能的布局?

    我开始认为这是不可能的 但我想我会问你们 基本上它是一个 2 列布局 但 业务 需要以下内容 始终占据整个浏览器窗口 适应浏览器窗口大小的调整 左栏的宽度是固定的 但该宽度在不同页面上应该是灵活的 左列顶部有一个固定高度的区域 左栏有一个底
  • 所有 mysql 引擎之间的主要区别是什么?

    我想总结一下所有 Mysql 引擎之间的主要区别 当然也包括最流行的引擎 我应该使用什么标准来确定使用哪个引擎 这里对它们进行了很好的描述 http dev mysql com doc refman 5 0 en storage engin
  • 如何更改 tcsh 提示符以显示当前工作目录?

    我在用tcsh我正在寻找一种响应式工作目录 我至少想显示最后一个文件夹名称而不是获取完整路径 想象我当前的工作目录是 user hostname home us Desktop my projects 然后我想显示这样的提示 user ho
  • 获取 Librosa 中与 STFT 相关的频率

    使用时librosa stft 要计算频谱图 如何获取相关的频率值 我对生成图像不感兴趣 如librosa display specshow 而是我希望掌握这些价值观 y sr librosa load recordings high pi
  • Azure 媒体播放器无法在 iPhone 上使用 AES 保护

    我们在 iPhone 6 A1586 上播放受 AES 使用 JWT 令牌身份验证 保护的视频时遇到问题 欠费错误如下 0x50300000 视频播放因损坏问题而中止 或者因为视频使用了您的浏览器不支持的功能 禁用加密后 播放相同的视频不会
  • Google 脚本可跨多个工作表工作

    我是 Google 脚本的新手 所以如果这个问题已经得到解答 我深表歉意 我有一个包含多个工作表的电子表格 其中一些工作表上有一个状态列 使用我已经发现的代码 我可以根据状态列中单元格中的值设置整个行颜色 我遇到的问题是我只能让代码在一张纸
  • 有效查询合并2个以上子查询

    我有一个数据库 books primary key bookID characterNames foreign key books bookID locations foreign key books bookID 角色名称和位置的文本位置
  • 我可以在批处理文件中使用多少个变量

    我有点好奇我可以在批处理文件中设置多少个变量 我这里有一个小脚本 ECHO OFF SETLOCAL EnableDelayedExpansion FOR L P IN 1 1 2147483647 DO SET Foo P P ECHO
  • 寻求参考来理解一种模式“!_[$0]++”

    我是 AWK 新手 使用移植到 Windows UNXUtils 的 GNU 实用程序和 gawk 而不是 awk 该论坛上的解决方案的工作原理如下绝对的魔法 并且我正在尝试找到一个可以阅读的来源 以更好地理解该解决方案中提供的模式表达式
  • 从点(x,y)以给定角度在边界内绘制一条线[重复]

    这个问题在这里已经有答案了 我正在尝试在 JavaScript 画布上画一条线 我有两个点A和B 如图所示 我使用此代码来查找这两点之间的角度 p1 is point A and p2 is point B var theta Math a
  • 为什么当我使用 DriverManager.getConnection 时我的 SQL 连接会卡住?

    我的 Java 代码如下所示 并且我的机器上运行着一个 MySQL 数据库 System out println Loading JDBC Class forName com mysql jdbc Driver newInstance Sy
  • Visual Studio 诊断会话无法启动 - 运行 Visual Studio 2013 诊断需要哪些访问权限

    Visual Studio 2013 诊断会话无法启动 无法加载收集器代理 访问被拒绝 我想知道运行性能和诊断工具需要哪些访问权限 我遇到了同样的问题 对我来说 这是由于我不是我的开发人员计算机上的本地管理员 如果我在本地管理员的提升帐户下
  • Microsoft 推送通知服务定价

    我已阅读有关他们为 Windows 手机提供的推送通知服务的 Microsoft 文档 但没有有关定价的信息 我在某处读到 每天 每个应用程序 每个设备最多可以免费使用 500 个通知 并且它是未经身份验证的模式 但也有经过身份验证的模式
  • 将 HarddiskVolume 路径转换为正常路径[重复]

    这个问题在这里已经有答案了 我有这样的设备路径 设备 HarddiskVolume2 Windows 我想将其转换为像这样的正常路径 C Windows 我尝试使用 fullpath splitpath etc 但没有新结果 该功能执行哪个
  • 如何查看 nusoap 的“原始 xml”输出?

    我有一个通用函数 用于传递 SOAP 命令 我需要查看正在处理的 RAW XML 数据sent到服务器来诊断错误 我怎么做 没关系 这似乎已经非常接近了 http www scottnichol com nusoapintro htm ht
  • 我可以让 IntelliJ IDEA 看起来更像 Eclipse 吗?

    我已经在 Eclipse 中进行开发很长一段时间了 但我仔细研究了 IntelliJ IDEA 9 0 3 因为它具有良好的 Flex 开发工具和 Maven flexmojos 集成 但我就是无法忍受 Ubuntu 10 04 上的外观
  • 如何在Linux中找到处理器队列长度

    尝试确定 Linux 计算机上的处理器队列长度 准备运行但当前未运行的进程数 Windows 中有一个针对此指标的 WMI 调用 但对 Linux 不太了解 我正在尝试挖掘 proc 和 top 以获取信息 有没有办法确定CPU的队列长度
  • JavaScript setInterval 限制?

    我有一个使用 JavaScript 的应用程序setInterval 运行数字时钟 我想知道它执行此函数的次数是否有超时或限制 setInterval 将无限运行 如果您希望终止 循环 可以使用clearInterval 例如 var co
  • 红宝石案例陈述与比较[重复]

    这个问题在这里已经有答案了 有没有办法使用caseruby 中整数比较的语句 我发现了很多比较字符串的例子 但是我的case下面的示例因语法错误而失败 def get price rank price case price when lt