[#42835] RubyインストールしたがTKがインストール出来ない — "Kazutomi Ueda" <kazuto@...>

初めまして上田と申します。

16 messages 2006/09/28
[#42837] macosxでRubyインストール 塰 でエラー — 上間 つよし <mugenkai15@...> 2006/09/28

はじめまして

[ruby-list:42784] Hash#partition が Hashを返すようになる予定はありますか?

From: take_tk <ggb03124@...>
Date: 2006-09-08 06:45:43 UTC
List: ruby-list #42784
たけ(tk)です

Hash#partition が Hashを返すようになる予定はありますか?

現在の仕様だと二重配列に変換されたものが二つ返るのですが、ハッシュの分割
だからハッシュを二つ返してほしい。

----

h = {1=>11,2=>22,3=>33,4=>44,5=>55}

p h.partition{|k,v| k%3==1 }

[
  [[1, 11], [4, 44]], 
  [[5, 55], [2, 22], [3, 33]]
]

----

module Enumerable
  alias divide partition
end

class Array
  def divide!( &block )
    ret1,ret2 = divide( &block )
    self.replace ret2
    ret1
  end
end

class Hash
  def divide( &block )
    ret1,ret2 = super( &block ) # call Enumerable#divide
    ret1 = Hash[*ret1.flatten]
    ret2 = Hash[*ret2.flatten]
    [ret1,ret2]
  end
  def divide!( &block )
    ret1,ret2 = divide( &block )
    self.replace ret2
    ret1
  end
end

h = {1=>11,2=>22,3=>33,4=>44,5=>55}
p h.divide{|k,v| k%3==1 }
[{1=>11, 4=>44}, {5=>55, 2=>22, 3=>33}]

----

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武


In This Thread

Prev Next