ruby - 返回字符串中的最高和最低数字 : Ruby

标签 ruby

不确定我做错了什么,但我似乎弄错了。

问题是,给你一串空格分隔的数字,你必须返回最大和最小的数字。

注意: 所有数字都是有效的 Int32,不需要验证它们。 输入字符串中始终至少有一个数字。 输出字符串必须是由一个空格分隔的两个数字,并且最大的数字在前。

def high_and_low(numbers)
  # numbers contains a string of space seperated numbers 
  #return the highest and lowest number 
 numbers.minmax { |a, b| a.length <=> b.length }  
   

end

输出:

`high_and_low': undefined method `minmax' for "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6":String 

最佳答案

minmax 不是为字符串实现的。您需要先将字符串拆分为数组。但请注意,split 将返回一个字符串数组,而不是数字,您需要在下一步中将字符串转换为整数 (to_i)。

因为 minmax 以与要求相反的顺序返回值,您需要使用 reverse 旋转数组,然后只是 join 这些数字最终结果用空格。

numbers = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"

def high_and_low(numbers)
  numbers.split.minmax_by(&:to_i).reverse.join(' ')
end

high_and_low(numbers)
#=> "542 -214"

关于ruby - 返回字符串中的最高和最低数字 : Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63793952/

相关文章:

ruby-on-rails - 从 Rails 上的哈希 ruby​​ 访问多个值

ruby-on-rails - 在 Ruby 中比较数组时填充缺失的条目

ruby-on-rails - Rails Paperclip 如何删除附件?

ruby-on-rails - 如何为 Rails View 返回一个字符串

ruby - 去除/替换字符串中的空格

ruby - http-access.rb 文件在哪里?

ruby-on-rails - 如何验证 Markdown?

ruby-on-rails - watchr 与 rails 应用程序的自动测试

ruby-on-rails - 如何使用 slim-rails 实现多行类属性?

ruby-on-rails - 如何修复 rails 中的错误