[ruby-list:47005] 汎用の最大・最小オブジェクト(番兵)

From: "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
Date: 2010-04-08 09:24:13 UTC
List: ruby-list #47005
きしもとです

ある種のアルゴリズムを汎用に実装するのに、番兵として汎用の最大・最小オブジェクトが
作れないかと ruby 本の「coerce アーキテクチャ」のあたりを眺めながらやってみました。

非常に単純なものですが、軽く検索してみたところでは出てこないので紹介してみます。
コメント等いただければ幸いです。

# Infinity, -Infinity とこれらとの比較はどうあるべきかとか...

class Sentinel
	include Comparable

	MAX = new

	def MAX.<=> other
		1
	end

	def MAX.coerce other
		[MIN, self]
	end

	MIN = new

	def MIN.<=> other
		-1
	end

	def MIN.coerce other
		[MAX, self]
	end

	private

	def self.new
	end
end

In This Thread

Prev Next