| 単行本(ソフトカバー): 384ページ | |
| 出版社: 技術評論社 | |
| 発売日: 2007/11/30 | |
| 定価: 2,919円 (本体 2,780円) | |
| ISBN: 978-4-7741-3264-8 | |
| 技術評論社のこの本に関するページ | |
| PDF/EPUB 版を販売しているGIHYO Digital Publishing のページ |
5.0 ないし 1.0
とあるのは 5. および 1. となっていた方がより適切です.
(2017.5.11)# print_string "表n示する";; ・ 示する- : unit = ()「表」のコードが 95 5C のため,2バイト目が次の n とくっついて改行文字 に解釈されてしまいました. 回避方法としては,こういった2バイト目が 5C の文字の直後にはバックスラッ シュを挿入して,コンパイラには無理矢理 \\,つまり単一のバックスラッシュ のエスケープシーケンス,だと解釈させる,という方法が考えられます.
# print_string "表\示する";; 表示する- : unit = ()また,Shift JIS では1バイト目は16進数で 80〜FF,2バイト目は 40〜FF の 範囲におさまり,アステリスク (*,ASCIIコード 2A) や閉括弧(ASCII コード 29) などとは衝突しませんので,コメント内での Shift JIS の使用は安全だと 思います. 参考情報: 日本語版 Wikipedia 「Shift_JIS」の項目 (2007.12.07)
# let (first, last, _, _) = author;; val first : string = "Atsushi" val last : string = "Igarashi"となります.真ん中の行が抜けていました.(2017.5.11)
facti:
この facti は,p.53 から p.54 にかけて,局所関
数 iterfact を使って定義し直した fact を意図
しています.但し,この定義では
fact (-1);;の実行はきちんと終了し
1 が値になります.ここで,
意図していたのは,
let fact n =
let rec iterfact (i, res) =
if i = n + 1 then res
else iterfact (i+1, res * i)
in
iterfact (1, 1)
のように i > n を i = n + 1 とした定義です.この定義では
fact (-1) の評価は終了しません.
本にある定義ですと,どんな int を入力としてもとりあえず評
価が終わって値が返されます.fact (-1) の値
が 1 でよいかは別として,どんな入力に対しても計算が止まる,
という意味で,こちらの方が「よい」定義だと思いますが,この部分の説明と
は整合が取れていませんでした. (2008.05.06)
(x 1, x 2.0) → average (x, 1.0) (2008.05.26) student 型は int 型のフィールド name と string 型のフィールド id」 → 「student 型は string 型のフィールド name と int 型のフィールド id」 (2013.10.30)t.office[2]」 → 「t.office.[2]」
(2008.11.18)fact の定義,「i := !i+1; res := !res * !i」→
「res := !res * !i; i := !i+1」 (2010.12.01) fact 5 の実行結果: 「720」 → 「120」 (2013.10.30)fact の定義,「i := !i+1; res := !res * !i」→
「res := !res * !i; i := !i+1」(2013.10.30)Open_wonly」→「Open_wronly」 (2008.12.03)'a list → 'a array (2008.03.19)[...]
→ [| ... |] (2008.03.19)let version = "0.1"は
let ver = "0.1"の誤りです.(2008.02.26)
((r < 0) && mem x rest)」→「((r > 0) && mem elt rest)」(2008.12.03, 2013.10.30)(true, false, false)」 → 「(true, true, false)」 (2013.10.30)elm → elt (2008.03.21) Client → MakeTest (2008.02.26) IntSet → IntSet' (2008.03.19) forall関数はListモジュールでは
for_allという名前で定義されています.(2010.4.30)5.0 ないし 1.0
とあるのは 5. および 1. となっていた方がより適切です.
(2017.5.11)# let (first, last, _, _) = author;; val first : string = "Atsushi" val last : string = "Igarashi"となります.真ん中の行が抜けていました.(2017.5.11)
i = n という条件は i = n + 1 が正しいです.また,p.54 の fact 4 の評価の様子も,= の右辺の 4 は 4+1 が正しいです.(2017.05.11) student 型は int 型のフィールド name と string 型のフィールド id」 → 「student 型は string 型のフィールド name と int 型のフィールド id」 (2013.10.30)fact 5 の実行結果: 「720」 → 「120」 (2013.10.30)fact の定義,「i := !i+1; res := !res * !i」→
「res := !res * !i; i := !i+1」(2013.10.30)mem の定義: 「r < 0」 → 「r > 0」 (2013.10.30)(true, false, false)」 → 「(true, true, false)」 (2013.10.30)~x:y:int → ~x:(y:int) (2023.03.26) last update on $Date: 2023-03-26 17:24:22 +0900 (Sun, 26 Mar 2023) $