- 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/
- 627 名前:デフォルトの名無しさん [2013/08/31(土) NY:AN:NY.AN .net]
- リスト内包表記ってOCcamlでできるの?
- 628 名前:デフォルトの名無しさん mailto:sage [2013/08/31(土) NY:AN:NY.AN .net]
- Camlp4でできる
- 629 名前:デフォルトの名無しさん mailto:sage [2013/09/02(月) 01:13:00.20 .net]
- OCaml でのゲームプログラミングに興味がわいて
MLGame mlgame.sourceforge.net/ ってライブラリを導入しようと思ったのですが 準備段階であるSDL, OCamlSDL の cygwin への導入で もうよくわからなくなってしまいました。 sourceforge.net/projects/mlgame/files/mlgame/cross-platform%20devel%20util/ cygwin ごと入ってるらしいパックもためそうとしましたが cygwin コンソールの起動ができません。 あきらめてCで初心者向けのDXLibrary でもつかって 適当にやってればいいのでしょうか?
- 630 名前:デフォルトの名無しさん mailto:sage [2013/09/02(月) 01:55:09.13 .net]
- やる前から自分が興味を持ったことを投げ出すなよ
やってみて、思っていたのと違ったらそのときに別の方法を考えればいい 要は関数型言語でゲームプログラミングをしたいんだろ? ならF# + DirectXを試してみたら? もしくはCygwinを捨ててLinux環境でMLGameに挑戦してみるとか MLGameなんて地雷臭がするから、いろいろと苦労しそう。その分、力は付くかもしれないけど。 どんな方法をとるにせよ、まずはある程度のところまで突き詰めたほうがいい
- 631 名前:デフォルトの名無しさん mailto:sage [2013/09/02(月) 01:59:44.29 .net]
- 「プログラミングする」という観点においては
Windowsはウンコということを肝に命じた方が良い
- 632 名前:デフォルトの名無しさん mailto:sage [2013/09/02(月) 02:33:30.43 .net]
- なんで?.NETは便利だぞ
- 633 名前:デフォルトの名無しさん mailto:sage [2013/09/02(月) 02:47:12.09 .net]
- >>621-622
素早い返答ありがとうございます。 とりあえず OCaml + cygwin + へんなの は捨てて F# + DirectX をためしてみます。 windoes はプログラム書くのにうんこなのですね? Ubuntu いちおう VMware でつかえるけど とりあえず win に F# インストールしてねます 明日 www.codeproject.com/Articles/121194/Managed-DirectX-via-F でもよもう
- 634 名前:デフォルトの名無しさん [2013/09/02(月) 09:36:30.13 .net]
- そっか F#だとAPIが叩けるんだな
プログラム自体を関数型言語から入ると なかなかできない発想だなと思った
- 635 名前:デフォルトの名無しさん mailto:sage [2013/09/03(火) 01:42:29.15 .net]
- let foo () =
let bar = baz () in begin (* fooを使ってunitを返すような処理がいくつか *) bar end 個人的にこれはダサいと思うんですけど他の書き方が思いつきません 何かありませんか?
- 636 名前:デフォルトの名無しさん mailto:sage [2013/09/03(火) 08:33:35.63 .net]
- 何がダサいと感じるのかよくわからんので何も言えない
- 637 名前:デフォルトの名無しさん mailto:sage [2013/09/03(火) 10:22:05.74 .net]
- endの直前にbarをもう一度書かないといけないところがダサいと思うのです
- 638 名前:デフォルトの名無しさん mailto:sage [2013/09/03(火) 13:34:18.83 .net]
- tap や finally で書けない?
- 639 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 19:54:28.33 .net]
- #load "dynlink.cma";;
#load "camlp4o.cma";; #load "Camlp4Parsers/Camlp4ListComprehension.cmo";; [x | x <- [1;2;3] ];; - : int list = [1; 2; 3] できた! すげー感動
- 640 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 20:04:23.38 .net]
- [(x,y,z)|x<-[1;2;3;4;5;6;7;8;9;10];y<-[1;2;3;4;5;6;7;8;9;10];z<-[1;2;3;4;5;6;7;8;9;10];x*x+y*y=z*z;x+y+z=24];;
haskellの すごHの問題もできた! うおー俺は猛烈に感動している ところでhaskellの[1,2..10]って書いて[1;2;3;4;5;6;7;8;9;10]のリストを一瞬で作る機能は流石にないよな
- 641 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 20:10:09.50 .net]
- >>631
残念ながら出来ない それにしても楽しそうだねw
- 642 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 20:16:21.51 .net]
- うん 楽しい
関数型言語は最高やでぇぇ
- 643 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 20:45:29.31 .net]
- detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10103970335
こんな問題もサクっと4つの組 (85,71,59,50)が出てくる 凄いよぉぉぉ マヂで小学生からプログラムやるべきだな
- 644 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 21:02:36.14 .net]
- 日本語が理解できない
自然数の集合から無作為に選んだ4個の数が存在して、この4つの中から、さらに無作為に3個を選んで和を取り、それを4回試行したところ、 180, 194, 206, 215 になった、ってことでいいの?
- 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]
- あー 数がちょっと増えるとすぐオーバーフローしちゃう
これはダメだぁ・・・
|

|