[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/01 11:11 / Filesize : 241 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

関数型言語ML (SML, OCaml, etc.), Part 6



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]
あー 数がちょっと増えるとすぐオーバーフローしちゃう
これはダメだぁ・・・






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<241KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef