< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事
N :次の記事(自分と同じ返事先を持つ)
|<:スレッドの先頭
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
三浦です
----- Original Message -----
From: "Take_tk" <ggb03124 / nifty.ne.jp>
To: "ruby mailing list" <ruby-list / ruby-lang.org>
Sent: Saturday, March 16, 2002 11:27 PM
Subject: [ruby-list:34464] Re: カレンダー文字列を作るメソッド
>
> だんだん面白くなってきた。
>
> うむ・・。惜しい。
>
> puts calendar_table(2002,12)
>
> argument out of range
> g:\apollo\apeed\1.RB:18:in `local'
>
> (1..(Time.local( year,month + 1).yday - time.yday + wday)).each{|d|
> ↑ここ
>
うっ、バグ入りを出してしまって、すみませんです。お手数掛けました。
とりあえずの改訂版を作りました。
def calendar_table( year,month )
wday = Time.local( year,month ).wday
s = "%12d 年 %d 月\n 日 月 火 水 木 金 土\n" % [year, month]
# 1 2
days = [0, 31, Time.local(year, 3).yday - Time.local(year, 2).yday,
# 3 4 5 6 7 8 9 10 11 12
31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
(1..days[month] + wday).each{|d|
s << "%4s" % (d <= wday ? " ": (d - wday).to_s)
s << "\n" if d % 7 == 0
}
return s.split("\n")
end
# チェック強化
puts calendar_table(2002, 2)
puts calendar_table(2002, 3)
puts calendar_table(2002, 12)
puts calendar_table(2000, 2)
puts calendar_table(2004, 2)