【问题标题】:Ruby : How to compare 2 arrays of string [closed]Ruby:如何比较 2 个字符串数组 [关闭]
【发布时间】:2017-06-28 05:15:33
【问题描述】:

我有 2 个字符串数组,如下所示。如果这些数组不相等,我想比较它们并执行一些代码-

current_instances  = ["170601_7711", "170601_8811"]
app_instances      = ["170602_7711", "170602_8811"]

如何在 ruby​​ 中比较它们?

【问题讨论】:

  • 在 SO 中提出问题之前,您应该付出一些努力,然后提供您尝试过的解决方案。
  • 数组(其中一个或两个)中是否可能存在重复项?

标签: arrays ruby string compare


【解决方案1】:
x = ["alpha1", "beta1"]
y = ["alpha2", "beta2"]

检查所有元素是否相同

x == y #=> false

比较每个元素

假设两个数组的大小相同,比较某个索引 i 处的每个字符串。然后将一些代码应用于匹配项。

x.zip(y) #=> [["alpha1", "alpha2"], ["beta1", "beta2"]]
x.zip(y).map {|a,b| a == b ? 'do this' : 'else do this' }
#=> ["else do this", "else do this"]

【讨论】:

  • 按每个元素检查的好解决方案,如果顺序很重要。谢谢:]
  • @Nils_e 感谢您的友好反馈,Ruby 是一门非常优雅的语言:)
【解决方案2】:

也许您可以使用- 运算符进行数组差异,如果差异为零,则执行您的代码

arr_diff = current_instances - app_instances

这是我能想到的最简单的解决方案:)

查看我的solution 并告诉我进展如何

【讨论】:

    猜你喜欢
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多