[#29170] Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...>

18 messages 2001/04/10
[#30213] Re: Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...> 2001/06/13

[#29190] Time Stamp Copy of File.copy — "たけ(tk)" <ggb03124@...>

 ftools.rb の move では utime を行っていて日付が同じになりますが、copy

42 messages 2001/04/11
[#29193] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/11

まつもと ゆきひろです

[#29201] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/11

たけ(tk)です。

[#29203] Re: Time Stamp Copy of File.copy — WATANABE Hirofumi <eban@...> 2001/04/11

わたなべです.

[#29212] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29215] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/12

たけ(tk)です。

[#29220] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29234] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29236] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29238] Array#include! — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29244] Re: Array#include! — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29348] Open3 — NISHIO Mizuho <mzh@...>

どうも西尾です。

16 messages 2001/04/20

[#29397] rnet.rb 〜高レベルネットライブラリ〜 — rubikitch <rubikitch@...>

るびきちです。

11 messages 2001/04/24

[ruby-list:29308] Array#separate ( Array#include! )

From: "たけ(tk)" <ggb03124@...>
Date: 2001-04-18 02:09:26 UTC
List: ruby-list #29308
たけ(tk)です。

[ruby-list:29305] Re: Array#include! にて 
matz@zetabits.com (Yukihiro Matsumoto) さん 曰く:
》で、「deleteにはdelete!がないので、そもそもその『説明』の対
》象でない(と書いた本人は思ってた)」[ruby-list:29275]という点
》について納得していただけたのでしょうか?

  了解しました。

 ところで、Array#delete_if の仕様を見て不思議に思ったのですが、delete 
や delete_at は「削除したもの」を返すのに、delete_if は「残ったもの」を
返すんですね。

 Array に「ブロックで与えられた条件に合致するものを元の配列から分離する」
というメソッドがないように思えました。仮に「separate」として、Ruby で書
くなら、次のようなもの。

	a=[1,2,3,4,5]
	b=a.separate{|i|(i%2)==0}
	p a	#	[1, 3, 5]
	p b	#	[2, 4]
 
 これがあれば引数にシンボルやハッシュが混在していても、次のように簡単に
分離できるのではないかと思い至りました。どうでしょう?。(既にあったらご
めんなさい)。

class Array
  def separate( &block )
    ret = self.select( &block )
    self.delete_if( &block )
    ret
  end
end

def foo (*args)
  args.each{|i| p i.type }
  symbols = args.separate{|i| i.is_a? Symbol}
  hashes  = args.separate{|i| i.is_a? Hash }
  p args,symbols,hashes
	##	[12, "ab"]
	##	[:cd]
	##	[{:ef=>1}]
end

foo 12,"ab",:cd , {:ef=>1}

たけ(tk)=熊谷秀武

In This Thread