Created
March 3, 2015 07:04
-
-
Save akimacho/72c7f0a6f2fda9f55740 to your computer and use it in GitHub Desktop.
第8章その2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* --- 問題8.5 --- *) | |
(* --- 問題8.6 --- *) | |
(* filename : ekimei.ml *) | |
(* 駅を表す型 *) | |
type ekimei_t = { | |
kanji : string; (* 漢字の駅名 *) | |
kana : string; (* ひらがなの駅名 *) | |
romaji : string; (* ローマ字の駅名 *) | |
shozoku : string; (* 駅が所属する路線名 *) | |
} | |
(* 目的:ekimei_t型のデータを受け取ったら,"路線名,駅名(かな)"の形式を返す *) | |
(* hyoji : ekimei_t -> string *) | |
let hyoji e = match e with | |
{ | |
kanji = kj; | |
kana = kn; | |
romaji = rj; | |
shozoku = sh | |
} -> sh ^ ", " ^ kj ^ " " ^ kn | |
(* テスト *) | |
let test1 = hyoji { | |
kanji = "茗荷谷"; | |
kana = "みょうがだに"; | |
romaji = "myogadani"; | |
shozoku = "丸ノ内線" | |
} = "丸ノ内線, 茗荷谷 みょうがだに" | |
# #use "ekimei.ml" ;; | |
type ekimei_t = { | |
kanji : string; | |
kana : string; | |
romaji : string; | |
shozoku : string; | |
} | |
val hyoji : ekimei_t -> string = <fun> | |
val test1 : bool = true | |
(* --- 問題8.7 --- *) | |
(* 駅と駅の接続情報を表す型 *) | |
type ekikan_t = { | |
kiten : string; (* 起点の駅名 *) | |
shuten : string; (* 終点の駅名 *) | |
keiyu : string; (* 経由する路線名 *) | |
kyori : float; (* 2駅間の距離 *) | |
jikan : int; (* 所要時間 *) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment