2013-04-23 46 views
1

我做提取最小的字有一个字符串作为"Frederik will not come office tomorrow.So please you have to do his tasks".我想最小和最大长度字作为散列如下:最大与字符串

{2=>["So", "to", "do"], 8=>["Frederik", "tomorrow"]} 

那么这将是这样做最短的方法吗?

+0

我想你好想输出粘贴,所以我纠正。请检查并确认。 :) – 2013-04-23 12:55:52

+3

@RubyLovely关于编辑完成的职位,你不应该正确的代码发布的OP。即使代码错误,编辑也不应修改代码。 – fmendez 2013-04-23 13:08:26

+0

@fmendez是的,你是对的!我只是告诉OP确认,因为他的话似乎是这样。 – 2013-04-23 13:10:04

回答

8

尝试以下:

w = "Frederik will not come office tomorrow.So please you have to do his tasks" 
p Hash[w.scan(/\w+/).group_by(&:length).minmax] 

#=>{2=>["So", "to", "do"], 8=>["Frederik", "tomorrow"]} 
+0

@fguillen感谢您的编辑。并使我的代码更美丽。 – 2013-04-23 13:34:14

+0

你是谁让它辉煌,我只是打磨了一下:P – fguillen 2013-04-23 13:42:27

+0

@fguillen我也从你那里了解到它。我没有想到没有阻止的'minmax'。 :)我在编辑后重新思考。 :) – 2013-04-23 13:43:56