型の紹介 - カスタム型の作成 - 型型シノニムを使用する変数 - typeキーワード
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)の UNIT2(型の紹介)、LESSON 12(カスタム型の作成)、12.1(型シノニムを使用する)、クイックチェック 12-1の解答を求めてみる。
コード
sample1.hs
main = do
print $ patientInfo ("Will", "Kurt") 20 100
putStrLn $ patientInfo ("Will", "Kurt") 20 100
type PatientName = (String, String)
firstName :: PatientName -> String
firstName = fst
lastName :: PatientName -> String
lastName = snd
patientInfo :: PatientName -> Int -> Int -> String
patientInfo patient age height =
let name = lastName patient ++ ", " ++ firstName patient
ageHeight = "(" ++ show age ++ "yrs. " ++ show height ++ "in.)"
in name ++ " " ++ ageHeight
入出力結果(Terminal, Zsh)
% runghc sample1.hs
"Kurt, Will (20yrs. 100in.)"
Kurt, Will (20yrs. 100in.)
%