[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:1229) [ruby] 六星占術



rubyで六星占術クラスを書いてみた。まるで専門学校生だw
いや、わたしはどうやら運気が悪いらしい。
いいことは気にならないけど、悪いことは気になる。
占いの本などを買って読んでいるうちに、単純なアルゴリズムなのに気が付いた。
要は60と12の円盤がぐるぐる回るだけ。
こないだ書いた日記用カレンダーに運気がでるといいなぁ、、、というOLさんのような動機(ぴゅあ
で、ここに書きたいのだけど、どうやら六星占術そのものが「ずばり、あのお方」の登録商標なので、「ずばり、怒られちゃいます」。
一応クラスメソッドはこんな感じ

・クラス名	RokuseiSenjutu	require "RokuseiSenjutu"
・クラスメソッド
	メソッド名	引数	返値	Usage	備考
	new	Date型オブジェクト	RokuseiSenjutuオブジェクト	my_hoshi = RokuseiSenjutu.new(born_date)	生年月日をDate型で渡します。
	unmeisei	なし	運命星を表す文字列(ex. "土星人(+)")	my_hoshi.unmeisei	
	reigo?	なし	trueまたはfalse	my_hoshi.reigo?	my_hoshiが霊合星人であるときtrueを返します(ほとんど内部的につかうだけでしょう)
	unki_y	Date型オブジェクト	ターゲットの年の運気を表す文字列(ex. "財成")	my_hoshi.unki_y(target_date)	
	unki_y2	西暦を表す整数	ターゲットの年の運気を表す文字列(ex. "財成")	my_hoshi.unki_y2(target_year)	整数だけを与えて時間をかせぎたいとき
	unki_m	Date型オブジェクト	ターゲットの月の運気を表す文字列(ex. "財成")	my_hoshi.unki_m(target_date)	
	unki_m2	西暦を表す整数	ターゲットの月の運気を表す文字列(ex. "財成")	my_hoshi.unki_m2(target_month)	整数だけを与えて時間をかせぎたいとき
	unki_d	Date型オブジェクト	ターゲットの日の運気を表す文字列(ex. "財成")	my_hoshi.unki_d(target_date)	これについてはData型しか受け付けない

使い方としては、こんな感じにアクセスする。
#! /usr/local/bin/ruby -Ke
=begin
RokuseiSenjutu.rb
のための利用サンプル

●Usage
example.rb 生年月日 占いたい日
ex.)
example.rb 1967-3-1 2004-9-12
=end

require "date"
require "RokuseiSenjutu"

born, target = ARGV[0], ARGV[1]
born_date = Date.parse(born)
target_date = Date.parse(target)
my_hoshi = RokuseiSenjutu.new(born_date)
print <<PEND
あなたの星は、#{my_hoshi.unmeisei}
#{target_date.year}年の運勢は、#{my_hoshi.unki_y(target_date)}
#{target_date.month}月の運勢は、#{my_hoshi.unki_m(target_date)}
#{target}の運勢は、#{my_hoshi.unki_d(target_date)}
PEND

結果は...
あなたの星は、土星人(+)
2005年の運勢は、陰影
9月の運勢は、陰影
2005-9-24の運勢は、減退
。。。orz