< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事
N :次の記事
|<:スレッドの先頭
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
こんにちは、阿部といいます。
Take_tk <ggb03124 / nifty.ne.jp> wrote:
>> で次のような文字列配列を返すスクリプトを考えているのですが、いろいろな方
>> 法がありそうで、なかなかエレガントな方法に思いつきません。
エレガントではないと思いますけれども、自分の HP に載せている日記を自
動生成させるコードを使って書いてみます。
ちょっと、引数の渡し方が違っていますけれども…。
def create_calendar ( year, month )
nextmonth = Time.at(
Time.local(year, month).tv_sec + 31*24*3600 )
daycount = Time.at(
Time.local(nextmonth.year, nextmonth.mon).tv_sec - 1 ).mday
emptystr = " "
lines = [ sprintf("%12d 年 %d 月", year, month),
" 日 月 火 水 木 金 土" ]
line = nil
w = Time.local( year, month, 1 ).wday
for d in 1..daycount do
line ||= Array.new( 7, emptystr )
line[w] = sprintf( " %2d", d )
if w == 6 then
lines << line.join
line = nil
end
w = (w+1) % 7
end
lines << line.join if w > 0
return lines.join("\n")
end
最初の daycount を求める辺りが汚いです。
標準でこれらのデータを求めるメソッドがあれば便利なんですけど。(^^;
--------
Black / 阿部 茂