どんなジレンマの「微妙・五言絶句」が面白かったので、またも F# に移植してしまいました。
open System
open System.Text.RegularExpressions
open System.Text.RegularExpressions
let re = new Regex("[一-龠]");;
let random = new Random();;
let extractKanji source = [| for i in re.Matches(source) -> i.Value |];;
let randomKanji source =
let random = new Random();;
let extractKanji source = [| for i in re.Matches(source) -> i.Value |];;
let randomKanji source =
let kanjiText = extractKanji source in
[| for i in 1..20 -> kanjiText.[random.Next(kanjiText.Length)]|];;
let main =
let kanjis =
let text = Console.ReadLine() in
randomKanji text in
Console.WriteLine("{0} {1} {2} {3}", kanjis.[0], kanjis.[1], kanjis.[2], kanjis.[3]);
Console.WriteLine("{0} {1} {2} {3}", kanjis.[4], kanjis.[5], kanjis.[6], kanjis.[7]);
Console.WriteLine("{0} {1} {2} {3}", kanjis.[8], kanjis.[9], kanjis.[10], kanjis.[11]);
Console.WriteLine("{0} {1} {2} {3}", kanjis.[12], kanjis.[13], kanjis.[14], kanjis.[15]);
Console.WriteLine("{0} {1} {2} {3}", kanjis.[16], kanjis.[17], kanjis.[18], kanjis.[19]);;
Console.WriteLine("{0} {1} {2} {3}", kanjis.[0], kanjis.[1], kanjis.[2], kanjis.[3]);
Console.WriteLine("{0} {1} {2} {3}", kanjis.[4], kanjis.[5], kanjis.[6], kanjis.[7]);
Console.WriteLine("{0} {1} {2} {3}", kanjis.[8], kanjis.[9], kanjis.[10], kanjis.[11]);
Console.WriteLine("{0} {1} {2} {3}", kanjis.[12], kanjis.[13], kanjis.[14], kanjis.[15]);
Console.WriteLine("{0} {1} {2} {3}", kanjis.[16], kanjis.[17], kanjis.[18], kanjis.[19]);;
List 1. Source code
ソースコードは、今までのものよりもシンプルになっています。実行結果も示します。
今日は、今日はどんな陽気ですか。こちらは台風が通り過ぎ、飛行機雲が見えたりしましたよ。風邪を引いたと聞きましたが、体調はもう良いのですか。あまり無理せず、今日も良い一日になさって下さい。
通 良 台 今
一 調 雲 過
下 日 邪 通
風 日 日 調
聞 今 日 日
通 良 台 今
一 調 雲 過
下 日 邪 通
風 日 日 調
聞 今 日 日
List 2. Result
![]() | Foundations of F# (Expert's Voice in .Net) Robert Pickering Apress 2007-05-28 売り上げランキング : 1025 Amazonで詳しく見る by G-Tools |
![]() | Expert F# (Expert's Voice in .Net) Don Syme Apress 2007-12-03 売り上げランキング : 1007 Amazonで詳しく見る by G-Tools |
Technorati のタグ: F#




コメントする