このGistに上がっているF#ソースファイルの概要
- Haiku.fs : Ver. 1.0, 始めての俳句プログラムです。
- Haiku2.fs : Ver. 2.0, 俳句を縦書きで出力するプログラムです。
このGistに上がっているF#ソースファイルの概要
// とりあえず、シンプルなプログラム | |
// コマンドライン引数に俳句を半角スペースで5・7・5に区切って入力してから、実行します。 | |
[<EntryPoint>] | |
let main argv = | |
argv |> Seq.iter( fun p -> p |> printfn "%s" ) | |
0 |
// 俳句を縦書きで出力するプログラム | |
// Auther : Nia Tomonaka | |
// Twitter : https://twitter.com/nia_tn1012 | |
// コマンドライン引数に俳句を半角スペースで5・7・5に区切って入力してから、実行します。 | |
[<EntryPoint>] | |
let main argv = | |
// 文字数1番多い行の文字数を求めます。 | |
let max = ( argv |> Seq.maxBy( fun a -> a.Length ) ).Length | |
// 各行は上で求めた文字数になるように、全角スペースで末尾をパディングします。 | |
let argv2 = argv |> Array.map( fun a -> a.PadRight( max, ' ' ) ) | |
// 文字列のを縦書きになるように並び替えて、出力します。 | |
Array.init max ( fun i -> System.String( [| for j in 0..argv2.Length - 1 -> argv2.[j].[i] |] |> Array.rev ) ) | |
|> Array.iter( fun v -> v |> printfn "%s" ) | |
0 | |
// Haiku2.fs | |
// Copyright (c) 2014-2023 Nia T.N. Tech Lab. / Chronoir.net. | |
// This software is released under the MIT License. | |
// http://opensource.org/licenses/mit-license.php |
// コマンドライン引数に俳句を半角スペースで5・7・5に区切って入力してから、実行します。 | |
[<EntryPoint>] | |
let main argv = | |
// 文字数1番多い行の文字数を求めます。 | |
let max = ( argv |> Seq.maxBy( fun a -> a.Length ) ).Length | |
// 各行は上で求めた文字数になるように、全角スペースで末尾をパディングします。 | |
let argv2 = argv |> Array.map( fun a -> a.PadRight( max, ' ' ) ) | |
// 文字列のを縦書きになるように並び替えて、出力します。 | |
Array.init max ( fun i -> [| for j in 0..argv2.Length - 1 -> argv2.[j].[i] |] |> Array.rev ) | |
|> Array.iter( fun v -> System.String( v ) |> printfn "%s" ) | |
0 |
GitHubのアカウント統合のため、Myoga1012→Nia-TN1012に移行しました。
旧URL: https://gist.github.com/Myoga1012/388576661e0912b0e5a6