2013-04-23 49 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