プロ生ちゃん #カレンダープログラミング を Smalltalk で
「プロ生ちゃん #カレンダープログラミング プチコンテスト 2014」開催! | プログラミング生放送
- プログラミング言語は自由(既に応募がある言語でも OK)
- コードを実行した当月の日曜始まりのカレンダーを出力する
- 追記: 当月を取得できない処理系は、年と月を指定する
- 出力形式はサンプルを参考に、細かい点は自由
Squeak もしくは Pharo という Smalltalk 処理系をインストールして起動後、デスクトップメニューから Workspace を開いてコードを貼り付けてから全選択し、右クリックメニューから print it(もしくは、alt/cmd + p )すると動作します。(ideone.com などにある GNU Smalltalk 等では残念ながら動きません。あしからず)
(Date today month weeks collect: [:week | (week dates collect: [:date | date month ~= Date today month ifTrue: [' '] ifFalse: [date dayOfMonth printStringLength: 2]] ) reduce: [:weekLineStr :dateStr | weekLineStr, ' ', dateStr]] ) asStringWithCr, String cr
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31