文字列からintを読み込む
'16.3 書式付き書き出し処理'(SML版printf)の解説読み込み中….
なんだけど他の章に比べて練習問題がほとんど無い.
一つだけ地味な問題があるので回答しておく.
何回か前に作成した読み込みの関数から, 「整数を読み出してコンテキストも一緒に返す」関数を作る.
(* 問 16.8 *) fun scanInt (s:substring) : int option * substring = let val ss = s in case intScan ss of SOME (i,sub) => (SOME i,sub) | NONE => (NONE ,ss ) end
使い方
- scanInt $ Substring.full "123hoge"; val it = (SOME 123,-) : int option * substring - scanInt $ Substring.full "hoge"; val it = (NONE,-) : int option * substring
関数宣言(?)のとこから型注釈を書くようにし始めてる. 書式はださいけど書かないと,どんなデータ渡していいのか分からないしね.