“条件中的字符串文字”是什么意思?

2023-11-21

每当我尝试运行该程序时,都会弹出一个错误,提示“字符串文字处于条件状态(第 10 行)”。我究竟做错了什么?

puts "Welcome to the best calculator there is. Would you like to (a) calculate the area of a geometric shape or (b) calculate the equation of a parabola? Please enter an 'a' or a 'b' to get started."
response = gets.chomp

if response == "a" or "A"

       puts "ok."

elsif response == "b" or "B"

       puts "awesome."

else

       puts "I'm sorry. I did not get that. Please try again."

end

您必须在两侧指定完整条件or.

if response == "a" or response == "A"

的两侧or未连接; Ruby 不会根据左侧的内容来假设右侧的内容。如果右边是裸线"A",好吧,除了false or nil被认为是“true”,因此整个表达式的计算结果始终为“true”。但 Ruby 注意到它是一个字符串,实际上并不是一个布尔值,怀疑您可能没有指定您的意图,因此在问题中发出警告。

您还可以使用case表达式,使针对单个值进行多次测试变得更简单;如果您在单个中提供多种可能性的列表when,它们有效地or一起编辑:

case response
  when "a","A"
    puts "ok"
  when "b","B"
    puts "awesome."
  else
    puts "I'm sorry. I did not get that.  Please try again."
end

对于忽略字母大小写的具体情况,您也可以在测试之前转换为大写或小写:

case response.upcase 
  when "A"
    puts "ok"
  when "B"
    puts "awesome."
  else
    puts "I'm sorry, I did not get that.  Please try again."
 end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“条件中的字符串文字”是什么意思? 的相关文章

  • Golang:从文本文件中替换字符串中的换行符时出现问题

    我一直在尝试读取一个文件 然后将读取的材料放入字符串中 然后字符串将按行分割成多个字符串 absPath filepath Abs Go input txt data err ioutil ReadFile absPath if err n
  • 为什么 Ruby 没有内置线程池?

    我有一个程序 它一次创建 10000 个线程 并同时运行 8 个线程 但是Ruby没有像Java那样内置ThreadPool 有充分的理由吗 可能是因为使用标准库 Queue 类很容易推出您自己的 q Queue new 3 times T
  • Ruby 字符串上的扫描和匹配有什么区别

    我是 Ruby 新手 并且一直使用String scan搜索某个数字第一次出现的位置 返回值在嵌套数组中有点奇怪 但我只是去了 0 0 为了我想要的价值观 我确信它有它的用途 只是我还没有使用它 我刚刚发现有一个String match方法
  • 从字符串中删除单个字符?

    如何从字符串中删除单个字符 string string Remove 3 但它删除了第三个字符和其他所有内容 根据删除方法签名 http msdn microsoft com en us library d8d7z2kk aspx publ
  • 如何将 ArrayList 中的所有值相加或转换为 ArrayList

    我试图将 ArrayList 中的所有值相加 但没有任何方法可以让我得到总和 我必须找到从文本文件中提取的数字的平均值 public static void main String args throws IOException File
  • 如何使用 Nokogiri 漂亮地打印 HTML?

    我用 Ruby 编写了一个网络爬虫 并且正在使用Nokogiri HTML来解析页面 我需要打印该页面 在 IRB 中闲逛时 我注意到一个pretty print方法 然而它需要一个参数 我不知道它想要什么 我的爬虫正在缓存网页的 HTML
  • JavaScript:String 和 Array 上的 indexOf 方法的效率差异

    我很好奇效率是否存在差异indexOf两者都可用的方法Array and String在 JavaScript 中 我以为indexOf在 String 上的效率低于在 Array 上的效率 而我的new测试结果支持了这一点 例如 var
  • 如何对 ruby​​ 的 URI.parse 方法进行猴子补丁

    一些流行的博客网站通常在其 URL 中使用方括号 但 ruby 的内置 URI parse 方法会阻塞它们 引发令人讨厌的异常 如下所示 http redmine ruby lang org issues show 1466 http re
  • 学习树顶

    我正在尝试自学 Ruby 的 Treetop 语法生成器 我发现 对于 最好的 文档来说 不仅文档非常稀疏 而且它的工作方式似乎并不像我希望的那样直观 从高层次上来说 我真的很喜欢比现场文档或视频更好的教程 如果有的话 在较低的层面上 这是
  • 如何将 current_user 传递给 Sidekiq 的 Worker

    我正在努力通过current user or User find 1 到工作模块 但在 sidekiq 的仪表板中出现错误 localhost 3000 sidekiq retries NoMethodError 未定义方法 支持 字符串
  • YAML 每个缩进有多少个空格?

    如果我在每个缩进级别使用一个空格 两个或四个空格 有什么区别吗 YAML 每个结构类型的空间数量有什么具体规则吗 例如4嵌套空间maps 1每空间项目清单 etc 我正在为 elastic beanstalk ebextensions 编写
  • 从字符串中提取整数

    从字符串中提取整数并将其保存到整数数组中的最佳和最短的方法是什么 示例字符串 65 865 1 3 5 65 234 65 32 我尝试查看其他一些帖子 但找不到有关此特定问题的帖子 一些帮助和解释会很棒 看来这一切都可以完成std str
  • 前面的冒号:YAML 语法

    我目前在项目中使用 Sidekiq 并且有以下 YAML 配置文件 concurrency 5 pidfile tmp pids sidekiq pid logfile log sidekiq log staging concurrency
  • 在字符串中搜索停用词[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在尝试在字符串 zach 中搜索停用词 THE BE TO OF AND A IN THAT I 它 在 在 但是 是 随着 我不确定字
  • Ruby Time.parse 给我超出范围的错误

    我正在使用 Time parse 从字符串创建 Time 对象 因为某些原因 Time parse 05 14 2009 19 00 导致参数超出范围错误 而 Time parse 05 07 2009 19 00 does not 有任何
  • 未定义符号:尝试运行瘦网络服务器时的 SSLv2_method

    我已经用 rvm 安装了 OpenSSL rvm pkg install openssl 然后做了rvm reinstall 1 9 3 with openssl dir rvm path usr 当我尝试运行瘦网络服务器时 出现以下错误
  • Python中的字符串替换,按顺序,按索引[重复]

    这个问题在这里已经有答案了 我是一个刚开始从 YouTube 学习 Python 的新手 我正在尝试制作一个程序 用新的字符串数字替换旧的字符串数字 并在替换数字时遇到问题 想要替换索引 它的技术术语是什么 我不知道 它可以朝一个方向或索引
  • 如何在C中将一个字符串拆分为2个字符串

    我想知道如何获取 1 个字符串 用分隔符 例如空格 将其拆分为 2 个字符串 并将这 2 个部分分配给 2 个单独的字符串 我尝试过使用strtok 但无济于事 include
  • RVM 无法通过 SSH 工作(作为一项功能)

    我刚刚在 Debian 6 服务器上安装了 RVM 一开始没有任何问题 但是 在一切设置完成后 我无法在终端中运行 RVM 我打字时收到的消息rvm use is RVM is not a function selecting rubies
  • 将 UTF-8 设置为 Heroku 中的默认字符串编码

    我需要在 Heroku 中将默认的 ruby 字符串编码更改为 UTF 8 由于某种原因它是 US ASCII heroku console Ruby console for myapp heroku com gt gt a encodin

随机推荐