我刚刚开始学习ruby,这可能很容易解决.如何比较Ruby中的两个字符串?

我试过以下方法:

puts var1 == var2 //false, should be true (I think)
puts var1.eql?(var2) //false, should be true (I think)

当我try 将它们 echo 到控制台以便直观地比较值时,我会这样做:

puts var1 //prints "test content" without quotes
puts var2 //prints ["test content"] with quotes and braces

最终,这些不同类型的字符串是什么?我如何比较这两种类型?

推荐答案

从您打印的内容来看,var2似乎是一个包含一个字符串的array.或者实际上,它似乎保存了在包含一个字符串的数组上运行.inspect的结果.这将有助于展示如何初始化它们.

irb(main):005:0* v1 = "test"
=> "test"
irb(main):006:0> v2 = ["test"]
=> ["test"]
irb(main):007:0> v3 = v2.inspect
=> "[\"test\"]"
irb(main):008:0> puts v1,v2,v3
test
test
["test"]

Ruby相关问答推荐

如何保证散列中的对象不完全相同

警告 Selenium [弃用] Manager#logs 已弃用.使用 Chrome::Driver#logs 代替

用函数组合枚举器的Ruby方法

如何用 yield_self 断链

Ruby 3 从多个预定纤程中收集结果

数组切片中没有左边框的Ruby范围

需要在Ruby中将数组拆分为指定大小的子数组

当没有传入块时,是否有更好的方法来防止屈服?

减少哈希值

创建一个哈希值作为数组和默认值作为空数组

如何让 Ruby 解析时间,就好像它在不同的时区一样?

符号到字符串问题

如何在 Ruby 中使用gets和gets.chomp

无法将 RVM 安装的 Ruby 与 sudo 一起使用

如何测试数组中的所有项目是否相同?

计算文件中的行数而不将整个文件读入内存?

Ruby 方法to_sym有什么作用?

如何在 Ruby 的 IRB 中启用自动完成

从Ruby中的子类方法调用父类中的方法

如何在文件夹及其所有子文件夹中搜索特定类型的文件