- 1 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 07:15:21 .net]
- 関数型言語MLについて語るスレッドです。
MLは、確固とした理論的背景を持つ言語でありながら、 現実的なソフトの開発にも使用できる実用性を備えた言語です。 また、プログラミングの初心者が最初に学習する言語としても優れています。 総本山 Standard ML www.smlnj.org/ Objective Caml caml.inria.fr/ocaml/ 前スレ 関数型言語ML(SML, OCaml, etc.), Part 5 pc12.2ch.net/test/read.cgi/tech/1186292994/
- 645 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 21:18:35.37 .net]
- こいつこの調子でずっと喋り続ける気?
- 646 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 22:22:27.90 .net]
- >>612==>>614==>>636
- 647 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 22:47:24.97 .net]
- >>637
うむ 正しい == の使い方だ
- 648 名前:デフォルトの名無しさん mailto:sage [2013/09/05(木) 01:56:06.71 .net]
- camlp4で今ある文法を制限することって出来ますか?
括弧無しのタプルを排除してリストの区切りをコロンにしたいのですが。
- 649 名前:デフォルトの名無しさん mailto:sage [2013/09/07(土) 03:15:14.14 .net]
- >>629
batteriesの関数ですよね?まさにそういうのを探していました batteriesは何となく名前が気に入らなくてスルーしてましたが食わず嫌いは良くないですね
- 650 名前:デフォルトの名無しさん mailto:sage [2013/09/07(土) 03:56:00.85 .net]
- OCamlのクロージャはそれなりにコストがあって、最適化もしてくれないので
>>626ぐらいならそのままにするなあ
- 651 名前:デフォルトの名無しさん [2013/09/09(月) 15:49:15.59 .net]
- 初めての言語に関数型選んでしまったから
Objectで詰んだ! さっぱりわからん
- 652 名前:デフォルトの名無しさん mailto:sage [2013/09/09(月) 17:10:04.82 .net]
- OCamlのobjectは忘れるんだ、そうすればお前は強くなれる
っていうかfirst class moduleが入って、ただでさえ継子扱いだったobject/classに存在価値は無くなった
- 653 名前:デフォルトの名無しさん [2013/09/09(月) 17:38:01.62 .net]
- おっとwikiみたらCoqの日本語版が登場してた
俺がCoqネタつぶやいたから誰か追加してくれたんだな
- 654 名前:デフォルトの名無しさん [2013/09/10(火) 10:39:57.58 .net]
- CoqIDEでCtrl+Alt+↓ってやると
画面が上下さかさまになってビビったw どんなバグなんだよwww
- 655 名前:デフォルトの名無しさん mailto:sage [2013/09/10(火) 13:04:29.50 .net]
- coqideってのが何かしらんが俺のWindowsでもそうなる
- 656 名前:デフォルトの名無しさん [2013/09/10(火) 13:15:41.31 .net]
- >> 644
Coqのwikiってどこですか?私も気になります。
- 657 名前:デフォルトの名無しさん mailto:sage [2013/09/10(火) 23:47:36.91 .net]
- ディスプレイドライバの機能をCoqのせいにするなよ
- 658 名前:デフォルトの名無しさん mailto:sage [2013/09/11(水) 00:25:24.14 .net]
- CoqIDEの正当性はCoqで証明されておらんの?
- 659 名前:デフォルトの名無しさん [2013/09/11(水) 18:00:49.24 .net]
- www.cis.upenn.edu/~bcpierce/sf/
proofcafe.org/sf/ Coq自身はしらんが Coqの元のOCamlの正しさは証明されてるっぽい
- 660 名前:デフォルトの名無しさん mailto:sage [2013/09/11(水) 19:05:49.78 .net]
- 型システム入門って読むべき?
- 661 名前:デフォルトの名無しさん mailto:sage [2013/09/11(水) 19:35:45.08 .net]
- よみなさい
- 662 名前:デフォルトの名無しさん mailto:sage [2013/09/11(水) 19:54:09.22 .net]
- >>651
入門書なんて読まなくていいよ
- 663 名前:デフォルトの名無しさん [2013/09/11(水) 20:41:01.16 .net]
- 入門って書いてあるけど
パラパラっと見たら全然入門じゃないんだけど・・・ 大学受験数学参考書の やさ理みたいな・・・全然優しく無いじゃんって
- 664 名前:デフォルトの名無しさん mailto:sage [2013/09/11(水) 21:34:52.86 .net]
- そもそも対象読者はどこを想定してるんだw
- 665 名前:デフォルトの名無しさん mailto:sage [2013/09/11(水) 21:50:49.86 .net]
- とりあえず英語できない人でしょ
- 666 名前:デフォルトの名無しさん mailto:sage [2013/09/12(木) 14:07:31.89 .net]
- スレ違いも甚だしいが、お前らの英語力ってどんくらい?今まで技術書は大体は読めるからいいもんと思っていたのだが、
ttp://www.readingsoft.com/ ここで測ったらwords per minuteが115とかいうとんでもない数値だった。 英語ネイティブの人間と同じ量の本を読むのに数倍の差をつけられてて、マジで不安になった。 同じ時間を費やして得られる知識が圧倒的に少ないのは如何なものか。全然読めないじゃないか。
- 667 名前:デフォルトの名無しさん [2013/09/12(木) 14:36:25.22 .net]
- www.zynas.co.jp/genius/sokudoku/sokutei.html
日本語でどのぐらいよ 俺で1400字/分 英語だと20letter(s)/minぐらいだろなw 1ページ読む頃には熟睡モードだぜ
- 668 名前:657 mailto:sage [2013/09/12(木) 14:52:35.79 .net]
- 1025文字/分だった。日本語読むのは速い方だけどトップには及ばない。
自分は視力が矯正入れて0.7くらいだし、これ以上速くしようと思ったら怪しげな速読メソッドに手を出すしか無いのではと思っている。 というか1400って速すぎじゃね?すげーな。
- 669 名前:デフォルトの名無しさん mailto:sage [2013/09/12(木) 15:10:15.73 .net]
- 103wpmに1080文字/分だった。
www.readingsoft.com/ は英文が平易すぎて、英語の小説読むより数倍速く読めたが……
- 670 名前:デフォルトの名無しさん mailto:sage [2013/09/12(木) 15:19:20.14 .net]
- >>657
73 wpm 理解優先で後戻りしまくったからな テストと見せかけて宣伝文句を熟読させる手口とすぐに分かったw
- 671 名前:デフォルトの名無しさん mailto:sage [2013/09/12(木) 15:29:49.44 .net]
- >>660
読み易いように心を砕いて書いた文章と思った
- 672 名前:デフォルトの名無しさん mailto:sage [2013/09/12(木) 16:23:13.27 .net]
- 146/wpm 100%だった
もうちょっと早く読めそうだ
- 673 名前:デフォルトの名無しさん mailto:sage [2013/09/12(木) 18:20:09.98 .net]
- 思いきり話の腰を折ってすまないが、
日本語英語に関わらず、知識やイディオム仕入れておいて、 理解速度自体を上げる方のが遥かに重要だから、 ページ送りが遅くても気にするなよ。
- 674 名前:デフォルトの名無しさん mailto:sage [2013/09/12(木) 20:00:36.43 .net]
- いやいやその知識やイディオムを仕入れる速度にもかかってくるのよ。読み書きの速度ってさ。
これ以上はスレ違いだし荒らしになるからやめるけど、上で挙げられてたSoftware Foundationsの和訳をして公開したCoqスレの住人達には感謝してもしきれん。
- 675 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 10:05:08.46 .net]
- ホントこんなに価値ある情報を無料で提供してくれるって凄いよね
- 676 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 10:13:47.96 .net]
- let goukei = 720;;
let aa = 100 and bb = 350 and cc = 620 and dd = 705 ;; List.concat (List.map (fun a -> List.concat (List.map (fun b -> List.concat (List.map (fun c -> List.concat (List.map (fun d -> if a+b+c+d = goukei then [(a,b,c,d)] else []) [0;aa])) [0;bb])) [0;cc])) [0;dd]);; こんな感じでaa商品100円 bb商品350円 cc商品620円 dd商品705円があって 720円になる組み合わせを考えてみました ネストすればアイテム数をいくらでも増やせそうですが もっとスッキリ書く方法はありませんか?
- 677 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 12:38:34.63 .net]
- batteriesありなら
List.n_cartesian_product [[0;aa]; [0;bb]; [0;cc]; [0;dd]] |> List.filter (fun [a;b;c;d] -> a+b+c+d = goukei)
- 678 名前:デフォルトの名無しさん [2013/09/13(金) 14:05:17.63 .net]
- batteriesってどうやってつかうの?
- 679 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 15:13:13.02 .net]
- >>665
どういう意味? 和訳してた人が速読を推奨してたの?
- 680 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 21:10:35.73 .net]
- >>669
opamやocamlfindの使い方分かる? その辺の設定済んでれば、ソースの最初でopen Batteriesするだけ
- 681 名前:デフォルトの名無しさん [2013/09/14(土) 01:13:42.13 .net]
- >>671
わかんない ググったらlinuxならできそうだけど これwindowsで行けるの?cygwinってのが要る?
- 682 名前:デフォルトの名無しさん [2013/09/14(土) 03:59:21.98 .net]
- batteries-2.1.tar.gz をダウソしてきて
cygwinってのから $ tar zxvf batteries-2.1.tar.gzすればええんやな
- 683 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 21:13:00.38 .net]
- >>622
んなわけねえだろ コンパイラ作ってる奴がクソなだけだ
- 684 名前:デフォルトの名無しさん [2013/09/14(土) 21:17:30.82 .net]
- やはりwindowsでOCamlならF#行った方がいい?
- 685 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 21:21:47.50 .net]
- プラットフォームがWindowsに限定できるのなら、あえて茨の道を選ぶこともあるまい
- 686 名前:デフォルトの名無しさん mailto:sage [2013/09/15(日) 03:38:59.44 .net]
- F#ってべつにwindowsじゃなくても動くでしょ
- 687 名前:デフォルトの名無しさん mailto:sage [2013/09/15(日) 04:18:36.52 .net]
- 動くけど、monoを入れる羽目になるし、.NET Frameworkが無いから旨さ半減
- 688 名前:デフォルトの名無しさん mailto:sage [2013/09/15(日) 06:47:38.91 .net]
- F#とOcamlって実行速度ちがってくるものなの?
- 689 名前:デフォルトの名無しさん mailto:sage [2013/09/15(日) 08:16:48.29 .net]
- OCamlはネイティブ
- 690 名前:デフォルトの名無しさん mailto:sage [2013/09/15(日) 09:50:20.17 .net]
- .NETはJITコンパイルされるし、OCamlのネイティブコンパイラの最適化は最低限だし
- 691 名前:デフォルトの名無しさん mailto:sage [2013/09/15(日) 10:45:01.28 .net]
- F#は.NETでも遅い方だろ
- 692 名前:デフォルトの名無しさん mailto:sage [2013/09/15(日) 10:52:12.02 .net]
- はいはい荒れるからこれで終わり
benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=all&data=u64q
- 693 名前:デフォルトの名無しさん mailto:sage [2013/09/15(日) 22:25:53.10 .net]
- Real World OCaml読もうぜ!OCamlSpotterの人も評価してたがAppendix A: installationでopam + core + utopをいきなりインストールさせるのはびっくりした。
こいつらガチでOCamlを普段使いにしてやがる。
- 694 名前:デフォルトの名無しさん [2013/09/15(日) 22:30:57.96 .net]
- 日本語版早く
- 695 名前:デフォルトの名無しさん mailto:sage [2013/09/15(日) 23:00:17.64 .net]
- >>684
実際、実務でOCaml使っている人たちが書いてるからね
- 696 名前:デフォルトの名無しさん [2013/09/15(日) 23:02:44.61 .net]
- って英語版も12月発売な上に
日本語版ってそれから1年後ぐらいになるのか
- 697 名前:デフォルトの名無しさん [2013/09/15(日) 23:05:28.42 .net]
- 普段使いってどういうこと?
スクリプト言語みたいに ちょこちょこっとのコーディングもOCamlって事?
- 698 名前:デフォルトの名無しさん [2013/09/15(日) 23:15:21.68 .net]
- あー やっぱLinuxかぁ
- 699 名前:デフォルトの名無しさん mailto:sage [2013/09/16(月) 00:03:20.35 .net]
- プログラミング演習のようなの実装させるより
Coreの拡張モジュールやp4使わせてるし 標準でやれることでもJane系にもっと便利なのあれば使ってる
- 700 名前:デフォルトの名無しさん [2013/09/16(月) 16:10:19.60 .net]
- opamってlinuxの64bit専用?!
- 701 名前:デフォルトの名無しさん mailto:sage [2013/09/17(火) 01:27:30.95 .net]
- あー opam installで途中で止まるー
もう寝る
- 702 名前:デフォルトの名無しさん mailto:sage [2013/09/17(火) 03:26:52.06 .net]
- アパーム!!
- 703 名前:デフォルトの名無しさん mailto:sage [2013/09/17(火) 09:53:15.37 .net]
- >>692 エラーメッセージはなんて出てますか? #opam
- 704 名前:デフォルトの名無しさん [2013/09/17(火) 12:09:35.38 .net]
- >>694
寝て起きたら終わってた エラーメッセージらしきものが出てたら まだググればなんとなく解決の糸口を探せるんだけど 止まったように見えるのは勘弁してほしい・・・
- 705 名前:デフォルトの名無しさん mailto:sage [2013/09/17(火) 12:15:30.59 .net]
- Ubuntuだと入ってるのかもしらんが
Lubuntu入れたからm4ってのが足りなくて進まないのに難儀したわぁ
- 706 名前:デフォルトの名無しさん mailto:sage [2013/09/17(火) 12:36:12.34 .net]
- とりあえず opamからutopとcore入れたけど
他に入れといた方がいいってのある?
- 707 名前:デフォルトの名無しさん mailto:sage [2013/09/17(火) 14:31:45.87 .net]
- asyncとか?
- 708 名前:デフォルトの名無しさん [2013/09/17(火) 20:04:07.17 .net]
- open Core.Std しても
ウンともスンとも言わないのはどうして?
- 709 名前:デフォルトの名無しさん mailto:sage [2013/09/17(火) 20:37:23.49 .net]
- toplevelなら最後に;;付けないと評価されないぞ。
- 710 名前:デフォルトの名無しさん mailto:sage [2013/09/17(火) 21:34:31.77 .net]
- 付けてもダメ
- 711 名前:デフォルトの名無しさん [2013/09/18(水) 10:24:04.40 .net]
- OSの問題か?
UbuntuでbatteriesとかCore使えてる人いますか?
- 712 名前:デフォルトの名無しさん mailto:sage [2013/09/18(水) 10:42:31.06 .net]
- 違うと思うけど
標準のモジュールは使える? open List;;とか
- 713 名前:デフォルトの名無しさん mailto:sage [2013/09/18(水) 11:54:58.58 .net]
- open List;;も
#load "nums.cma";; も行ける
- 714 名前:デフォルトの名無しさん [2013/09/18(水) 17:03:13.40 .net]
- #use "topfind";;
#require "batteries";; open Batteries;; でバッテリーつかえたぁぁぁ 疲れた でもCoreはスーパーユーザーやないと使えないんだけど emacsからスーパーユーザーってどうするんだ?
- 715 名前:デフォルトの名無しさん mailto:sage [2013/09/18(水) 17:09:49.70 .net]
- su emacs # ?
- 716 名前:デフォルトの名無しさん mailto:sage [2013/09/18(水) 17:22:01.73 .net]
- ってかここで聞く事じゃないけど
.emacsなんてなんだよ・・意味不明
- 717 名前:デフォルトの名無しさん mailto:sage [2013/09/19(木) 02:32:35.94 .net]
- 可能性1. Coreライブラリのパーミション指定がおかしいため、通常ユーザーでは読めない。(あまり現実的じゃない)
可能性2. opamをsudoで実行した。 可能性3. Ubuntuリポジトリにあるcoreパッケージをインストールした一方で、opam+findlibを個人権限で導入し、 そのため/usr/lib/ocaml/以下をfindlibが探していない。 可能性3なら、~/.opam/system/lib/findlib.confを編集することで解決する。
- 718 名前:デフォルトの名無しさん [2013/09/19(木) 09:33:14.80 .net]
- できた!ありがトン
端末たちあげたら先ず初めになんでも sudo -iしてたのがダメだったのかなぁ utopだと出来るけどemacsだと Error: Reference to undefined global Conditionsってでる うーん emacsの勉強が必要だなぁ core_kernelだと大丈夫なのはなぜなんだぜ? coreとcore_kernelって同じもの?だよね
- 719 名前:デフォルトの名無しさん mailto:sage [2013/09/19(木) 16:09:42.28 .net]
- >>709
/home/fuga/.opam/system/lib/findlib.conf ------------------------------------ destdir="/home/fuga/.opam/system/lib" path="/usr/lib/ocaml:/home/fuga/.opam/system/lib" ocamlc="ocamlc.opt" ocamlopt="ocamlopt.opt" ocamldep="ocamldep.opt" ------------------------------------ pathをちゃんとしてれば、Linuxディストリビューションが提供するocamlライブラリとopamで個人利用のライブラリが併用できる。 普通にopam導入したら/usr/lib/ocaml以下を無視して全部~/.opam以下に入れようとしてくる。 面倒だから俺もちゃんとしてない(findlibがシステムとユーザー両方にあって気持ち悪い)が、 OCAMLFIND_CONFを指定したり何だりすればいいらしい。気が向いたら試してみてください。
- 720 名前:デフォルトの名無しさん mailto:sage [2013/09/20(金) 02:37:57.07 .net]
- >>707
emacsの設定ファイルだよ。弄ってる間に学生生活が終わった。
- 721 名前:デフォルトの名無しさん mailto:sage [2013/09/21(土) 18:47:36.60 .net]
- opamの1.1.0betaが出てるね
- 722 名前:デフォルトの名無しさん mailto:sage [2013/09/25(水) 00:38:24.09 .net]
- https://twitter.com/cliffordbeshers/status/382505685084160001
ICFPの季節か
- 723 名前:デフォルトの名無しさん [2013/09/28(土) 08:17:20.19 .net]
- SML#の話題ってここでいいの?
- 724 名前:デフォルトの名無しさん mailto:sage [2013/09/28(土) 09:00:06.71 .net]
- いいよ
- 725 名前:デフォルトの名無しさん mailto:sage [2013/09/28(土) 18:49:36.94 .net]
- SML#のページにあったスライドより:
SML# は,Cやデータベースとの連携を備えた「ふつうの言語」を目指すML系関数型言語です. SQLをそのまま使える「ふつうの言語」...こいつ頭がお詳しいぜ! C、SQL、MLっていうのは欲張りだな。polyglotは楽しめるのかもしれんが。
- 726 名前:667 [2013/09/30(月) 10:28:11.89 .net]
- let rec add_h a = function
[] -> [] | h::t -> (a::h) :: add_h a t;; let rec powerset = function [] -> [[]] | h::t -> let pt = powerset t in pt @ add_h h pt;; let nedan_list list goukei = List.filter (fun xs -> List.fold_left (+) 0 xs = goukei) (powerset list);; nedan_list [100;350;620;705] 720;; 過去スレにいいヒントがあったのでそれを使って やりたい事を実現できました。 OCamlの素晴らしさを実感するとともに もっと良い方法があれば教えてください。
- 727 名前:667 [2013/09/30(月) 10:36:53.22 .net]
- あー 数がちょっと増えるとすぐオーバーフローしちゃう
これはダメだぁ・・・
- 728 名前:667 mailto:sage [2013/09/30(月) 11:26:09.48 .net]
- let rec powerset = function
| [] -> [[]] | h::t -> List.fold_left (fun xs t -> (h::t)::t::xs) [] (powerset t);; あ、自己解決 こうすれば20数個行ける
- 729 名前:デフォルトの名無しさん mailto:sage [2013/10/01(火) 17:56:59.75 .net]
- ごっちゃになってたけど
print_string "hello"; print_newline ();; と print_endline "hello" が同じ意味なんだな print_string "hello\n" が普通の書き方?
- 730 名前:デフォルトの名無しさん mailto:sage [2013/10/04(金) 23:18:06.53 .net]
- その程度ならどれも意味がすぐ分かるから、特に伝統は無い。
改行コードはOS毎にLF+CRだったりLFだったりするけど、そこら辺はどう考慮されているんだろう。 Linuxだと\nで改行、\rで現在の行を消して先頭からやり直し、みたいだけど。他のOSでも統一
- 731 名前:されてんのかね? []
- [ここ壊れてます]
- 732 名前:デフォルトの名無しさん [2013/10/05(土) 09:27:34.70 .net]
- 副作用にも色々表現方法があって迷うなぁ
まぁOCamlはそれがいいんだろうけど
- 733 名前:デフォルトの名無しさん mailto:sage [2013/10/05(土) 14:18:01.03 .net]
- 文字列だけなら print_string とか print_endline とかでいいだろうけど、
数値とか含むのを出力するときはどうするのがスマートなんだろう? 俺はだいたい Printf.printf を使ってしまうのだけど。
- 734 名前:デフォルトの名無しさん mailto:sage [2013/10/05(土) 14:42:49.03 .net]
- >>721
間違ってる Windows は CR+LF すなわち現在行を消して先頭に戻してから改行するのだッ
- 735 名前:デフォルトの名無しさん mailto:sage [2013/10/05(土) 14:51:34.09 .net]
- > Linuxだと\nで改行、\rで現在の行を消して先頭からやり直し、
OSのアプリが, 慣習的に "\n" を論理改行文字として扱ってる(tty ドライバーも このように扱いやすく作ってある)だけで, 端末制御として使う CR だとか LF とは 分けて考えるべきだと思うよ. 実際に tty を raw モードに設定すると, CR - LF("\r\n") を "\n" にマップする 作業はアプリの仕事になる. 端末から見た, 各制御文字の役割は以下であってそれ以外の何者でもない CR: カーソルを行の先頭に戻す, LF: カーソルを次の行に移動する(カラムは移動しない)
- 736 名前:デフォルトの名無しさん [2013/10/05(土) 17:25:39.93 .net]
- ocamlのcryptokit使おうとしたら、エラーになるんだがなんでなんだぜ。
Fatal error: cannot load shared library dllcryptokit_stubs Reason: dllcryptokit_stubs.so: cannot open shared object file: No such file or directory
- 737 名前:デフォルトの名無しさん [2013/10/06(日) 08:19:42.15 .net]
- #ocaml #opam 自己解決したっす dllcryptokit_stubs.so はopamゆーざーなら以下の環境変数の設定が必要っぽい
export CAML_LD_LIBRARY_PATH=~/.opam/system/lib/stublibs/
- 738 名前:デフォルトの名無しさん [2013/10/09(水) 00:18:05.42 .net]
- なんかopamも便利なんだか不便なんだかわからんな
- 739 名前:デフォルトの名無しさん [2013/10/10(木) 12:26:47.83 .net]
- フィボナッチ計算させるときに
メモ化するのもアキュムレータ使うのも 同じ振る舞いな気がするんだが 何か違うのかな?
- 740 名前:デフォルトの名無しさん mailto:sage [2013/10/10(木) 13:44:52.77 .net]
- 複数回呼び出したら違うんじゃないの
- 741 名前:デフォルトの名無しさん [2013/10/10(木) 14:11:03.39 .net]
- それぞれの f(n)までの値をそれぞれ1回ずつ計算して
テーブルに入れるかレコードに入れるかの違いだから 計算回数は同じじゃね?
- 742 名前:デフォルトの名無しさん mailto:sage [2013/10/10(木) 18:11:17.89 .net]
- fibを何回か呼ぶことを言ってるんじゃねぇの
- 743 名前:デフォルトの名無しさん [2013/10/10(木) 18:49:43.04 .net]
- 呼ぶ回数=計算回数じゃないの?
どっちもO(n)っぽいんだけど
- 744 名前:デフォルトの名無しさん mailto:sage [2013/10/10(木) 19:24:41.41 .net]
- fib(n) = fib(n-1) + fib(n-2)
fib(n-2)は呼ばれるが、計算済みだから新に計算はしないってことでしょ。
- 745 名前:デフォルトの名無しさん [2013/10/10(木) 21:27:14.82 .net]
- そういう二重再帰じゃない方のフィボナッチだよ
|

|