如何解决如何搜索字符串中最长的单词
def my_inject(*args)
return yield false if args.empty? && !block_given?
case args.length
when 1 then args.first.is_a?(Symbol) ? sym = args.first : result = args.first
when 2 then result = args.first
sym = args.last
end
result ||= 0
my_each { |x| result = block_given? ? yield(result,x) : result.send(sym,x) }
result
end
我可以在这段代码中添加些什么,以使其搜索字符串数组中最长的单词并将其添加?
解决方法
string.split(" ")
.max_by(&:length)
,
我可以在这段代码中添加什么以使其搜索字符串中最长的单词
"this is a test of the emergency broadcast system".split(' ').sort {|x,y| y.length <=> x.length}.first
要对此进行细分,我们:
- 将句子分配为字符串
- 将字符串分割成单词
- 通过比较每个单词的长度和前一个单词的长度来对每个单词进行排序
- 取得第一个结果
有关在Ruby上进行排序的更多信息,网址为https://apidock.com/ruby/v2_5_5/Enumerable/sort
,一些假设:
- 每个数组项仅包含一个单词
- 您只希望返回最长的单词,而不是位置
words = %w[tiny humungous antidisestablishmentarianism medium]
puts words.max_by(&:length)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。