読者です 読者をやめる 読者になる 読者になる

定食屋おろポン

おろしポン酢と青ネギはかけ放題です

まあ3行ならコピペするけどね。

こんな呟きが流れてきたので、

なんて呟いてみたけど、出力するだけなら普通に書けるね。

NSArray* week;
week = [NSArray arrayWithObjects:@"月", @"火", @"水", @"木", @"金", @"土", @"日", nil];
for (int i = 5; i <= 7; i++) {
    NSLog(@"6月%d日(%@) 14:00以降", i, [week objectAtIndex:(i+3)%7]);
}

ついでにRuby

(5..7).each {|i| puts "6月%d日 (%s) 14:00以降" % [i, %w!月 火 水 木 金 土 日![(i+3)%7]]}

Objective-Cは配列周りの記述が冗長になるのは仕方ない。Objective-Cでも一行で書けるけど、Objective-Cは丁寧に、Rubyはなるたけ簡潔に書くほうが読みやすい気がします。

これは文字列を単純に出力するだけのコードだけど、実際にブルーになるのは日付計算です。
Cocoaの日付計算は覚えることも少なく直感的に書けて、かつ柔軟で優秀だと思うんだけど、どうしても行数はかさむ。
Rubyはどんな感じなのかな。今日は眠いので次にでも書き比べてみます。