F#でカレンダープログラミングをやってみました(その2)

By | Date : 2014/12/24 ( Last Update : 2016/04/30 ) | 24 views

Myoga-SB-SDF-A2

Hello~! ミョウガです!

今回はF#のリストやシーケンスの結合を活用して、カレンダーを出力するプログラムを作成した時のお話です。

 

1. 1週目の空白スペース用と日付用でそれぞれリスト(シーケンス)を作成し、結合してみました

まず思いついたのが、「1日の曜日に合わせてオフセットするための空白スペース用」と「日付用」のリストを生成し、それらを結合して、各要素を出力するという方法です。

リストを結合する時は、リストの間に「@」を入れて、

[ リスト1 ] @ [ リスト2 ]

と書きます。

※このプログラムは https://gist.github.com/Myoga1012/e4c9e921ed1ae635185b でも公開されています。

ここで重要なのが14行目の部分です。1週目の空白スペース用のリストの各要素は文字列型なので、日付用のリストもそれに合わせて各要素を文字列型にする必要があります。

ということで、リスト生成時にString.Formatメソッドで日付をあらかじめ書式指定文字列に変換しておきます。

あとは、12行目のSeq.iteri関数で各要素を出力するだけで、カレンダーが出来上がりますよっ♪

※なぜ、Seq.iteri関数を使用するかというと、土曜日での改行処理の条件判断にインデックス値を使用するからです。

CalendarFSI2

 

2. 終わりに

ニア共々、12月中旬まで卒業研究の方を優先していましたので、ブログの更新がスローペースになってしまい、申し訳ないですっ!(>_<)

先日、中間発表を無事に終えてひと段落しましたので(あとは卒論だけ)、更新速度を上げていこうと思います。

 

次回は、パイプライン処理を活用したカレンダープログラミングのお話をしていきたいと思いますっ!

ではでは、See youですよっ♪

 

この記事をシェアする
Chronoir.netのRSSフィードを購読する

About : ミョウガ(Myoga)

Hello~! 「ミョウガ」です。よろしくお願いします!(≧▽≦)/ 主にC#/XAML/C++などをメインにプログラミングやアプリの開発をしています。好きな物はカフェラテとハーブティ、趣味は写真撮影と艦これです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*