我有一个值,它是四个值之一:布尔真、布尔假、字符串"真"或字符串"假".如果字符串是布尔值,我想将其转换为布尔值,否则保持不变.换句话说:

"真"应该变成真

"假"应该变成假

真实应该是真实的

虚假应该保持虚假

推荐答案

def true?(obj)
  obj.to_s.downcase == "true"
end

Ruby相关问答推荐

R10K模块在try 安装gem r10k时获得错误的Ruby版本

Ruby 扁平化 JSON 对象或哈希

Homebrew 的 ruby​​ 和Homebrew Ruby有什么区别?

从 URL 字符串中提取主机的 Ruby 代码

如何增加 ruby​​ 应用程序的堆栈大小.递归应用程序获取:堆栈级别太深(SystemStackError)

如何使用 RSpec 忽略或跳过测试方法?

如何将两周时间添加到 Time.now?

将方法应用于数组/可枚举中的每个元素

try 学习/理解 Ruby 的 setter 和 getter 方法

与 String 相比,在 Ruby 中使用 StringIO 有哪些优势?

使用 for each 时识别最后一个循环

相当于 Ruby 中的通过

如何将哈希键转换为方法名称?

使用 `?`(问号)在 Ruby 中获取 ASCII 字符代码失败

Ruby on rails - 静态方法

ruby 中&:运算符的功能是什么?

gem 安装失败并出现 openssl 失败

为什么表达式 (true == true == true) 会产生语法错误?

Ruby 中的 each 和 collect 方法有什么不同

如何在 Ruby 中使用全局变量或常量值?