- 1 名前:デフォルトの名無しさん [2008/02/10(日) 15:06:12 ]
- プログラミング言語 D (D Programming Language) について語るスレッドです。
過去スレは >>2 ■本家 ttp://www.digitalmars.com/d/ ttp://www.kmonos.net/alang/d/ (和訳) ■コンパイラ ttp://www.digitalmars.com/d/dcompiler.html (DMD, 本家) ttp://dgcc.sourceforge.net/ (GDC, gccフロントエンド) ttp://gdcmac.sourceforge.net/ (GDCのmac用バイナリ) ■参考URL ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究) ttp://dsource.org/ (dsource) ttp://tinyurl.com/3da5oa (C/C++に疲れた人のD言語) ttp://www.kmonos.net/alang/wnd/ (わかったつもりになるD言語) ttp://shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか) ttp://shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座) ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画) ■ IDE ttp://dronten.googlepages.com/dscite (DSciTE) ttp://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks) ttp://www.dprogramming.com/entice.php (Entice Designer) ttp://www.dsource.org/projects/descent (Descent) ttp://www.dsource.org/projects/poseidon (Poseidon)
- 773 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 14:11:47 ]
- >>772
とりあえずTangoを入れて動かしてみたけど >object.Exception: Access Violation となるのはStdoutのせいっぽい(俺の環境では). tango.io.ConsoleのCoutを使ったら,771のソースでちゃんと置換されたのが表示された. Stdoutでこのエラーになる原因は面倒なので追ってない.
- 774 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 16:32:06 ]
- tango.text.Regex の compileToD すごいな。
出力されたコードを少し書き換えたらCTFEでも動いた。 CTFEで正規表現使いたい時にいいかも。 単純な処理しかしてないから、 Cやアセンブラに書き換えるのも容易かも。しかし長いw
- 775 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 18:21:13 ]
- >>772
Stdoutでバグるのは,Regex.dでdebug時にStdout.dをimportしてたから コンパイル時にdebugオプションをつけたら動くようになった. といってもdebugなしで普通にimportしてもエラーが出るので, この辺の原因はよく分からない. static thisとかの初期化とかで何か問題が発生してるのかも. 力になれなくて申し訳ない.
- 776 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 18:54:33 ]
- PhobosとTangoが仲良くなりますように(-人-)
- 777 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 18:54:47 ]
- っTangobos
- 778 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 19:25:04 ]
- >>773>>775
うーむ、 Stdoutはデバッグで使いたいので、こうなると正規表現でURLを抜き出すのは面倒ですね。 別の手法も思いついたのでそっちで一度試して見ます。 どうもでした。
- 779 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 22:50:17 ]
- >>778
もういいかもしれないけど,とりあえず追加で書いとく. Stdoutがどうこうとか書いたけど,自分でもよく分からなくなってきたw 771のソース前提で,とりあえず出力される方法. ・Cout/Cerrを置く 色々試してたら,Cout/Cerrを置くと普通にStdoutでも出力されるようになった. ・Stdout(Stdout); これを置いても出力された.Stdoutの型も出力されるので使えない. ・Stdout.dと同じことをやる Stdout = new Print!(char) (new Layout!(char), Cout.stream); 同じことしてるのに効果が違うのはよく分からないんだけど. どれも根本的な解決策じゃないので応急処置的な感じ. >>770は動いているようだし,環境も関わってるのかなぁ. それにしてもStdout(Stdout)がまともに動くのは何故…
- 780 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 12:16:11 ]
- 日本語うめえ
- 781 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 12:16:34 ]
- 誤爆
- 782 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 15:57:50 ]
- なんかネタないの?
- 783 名前:770 mailto:sage [2008/03/18(火) 17:35:48 ]
- >>779
こちらでも、dmdでビルドしたものはAccessViolation出ました。 budで、tango-user-dmd.libを使わずにビルドすると正常動作するけど、 使う設定でビルドだと、AccessViolationでした。 tango-user-dmd.libを再makeすれば直るのかな??
- 784 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 20:37:12 ]
- >>783
budでOKということで,試しにDSSSでビルドしたら普通に動いた. これくらいは昨日試しておくべきだったorz 770の言うとおり,生成済みライブラリになんらかのバグ(コンパイル状況による?)があるっぽいね. Tangoのソースからのビルドが英語だらけで挫折.
- 785 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 06:46:04 ]
- >>782
ソースを落として、dmd.exeとdmc.exeにパスが通っている状態でlib内のbuild-tango.batとかを実行 …だと思うのだけど、再コンパイルできなかったりできてもやっぱりバグったリ…何かがおかしい。
- 786 名前:785 mailto:sage [2008/03/19(水) 06:47:12 ]
- >>782 じゃなかった… >>784 でした。申し訳ないorz
- 787 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 03:37:51 ]
- 今のところ2.0で動くGUIライブラリってない?
- 788 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 11:46:08 ]
- wxDの履歴にinvariant string対応とかあるけどどうなんでしょ
- 789 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 15:28:54 ]
- tangoのDateTimeとかはどこに消えたんですかね・・・
似たようなクラスって何かありますか?
- 790 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 19:29:35 ]
- tango.time.Timeの中にあるようだけど
- 791 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 19:55:15 ]
- 久しぶりにPoseidon落としてみたが、キーボードショートカットでrun_projectの割り当てが出来るようになってた。
軽いし、やっぱり気軽にプログラミングするにはいいエディタだな。
- 792 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 22:22:35 ]
- D言語をMac OS Xで始めました。
目的はWin/Linux用のD言語で書かれたコンソールアプリの移植です。 最初に既存のソースコードをXcodeからコンパイルして勉強できる環境を構築しようと思い立ち いろいろ調べていますが、参考になるサイト等見つかりません。 どなたかMacでその道に足を踏み入れた方はいらっしゃいますか?
- 793 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 23:46:49 ]
- D1/D2どちらでもいいので
C++のstringstreamみたいなのが欲しいんだけど ありませんでしたっけ? >>792 Macのは見かけたことないなー
- 794 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:02:49 ]
- MemoryStreamに書いて、readStringとか。
- 795 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:24:03 ]
- OutBufferに書いて、toBytesとか。
というかOutBufferの存在価値が昔から空気過ぎるんだけど必要なのかこれ。
- 796 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:27:01 ]
- >>794 こうだと何も表示されないんだけど何が足りないのでしょう?
import std.stdio; import std.stream; void main(){ Stream ms = new MemoryStream; ms.writeLine("hello"); string s = ms.readLine().idup; writefln(s); } >>795 OutBufferはいらないよな・・・
- 797 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:29:54 ]
- Streamは読み書きでpositionを共有してるからpositionのリセットが必要。
import std.stdio; import std.stream; void main(){ Stream ms = new MemoryStream; ms.writeLine("hello"); ms.position = 0; string s = ms.readLine().idup; writefln(s); }
- 798 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:30:16 ]
- これでできたようです
import std.stdio, std.stream; void main(){ Stream ms = new MemoryStream; ms.writeLine("hello"); ms.writeLine("world!"); string s = ms.toString(); writefln(s); }
- 799 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:31:30 ]
- >>797 もしかしてそうじゃないかなと思ってpositionを再設定しようと
思ったんだが 0 を入れればいいのかわからなかったので 発見した toString() を試してみたらいけました ありがとう
- 800 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:34:58 ]
- >>799
toStringでもOK。 ただ、toStringはread可能,seek可能かによって微妙に動作が変わるから注意な。
- 801 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:38:38 ]
- >>795
std.openrjと同じくらいは役に立つんじゃね?
- 802 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:47:09 ]
- >>790
これは・・・・・ もしかしてまだ作りかけなのかな・・・・
- 803 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:56:33 ]
- 壮絶な勘違
- 804 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 01:00:49 ]
- 単に.NETみたいにしたいだけなんじゃ…
|

|