D言語 Part22
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2009/06/22(月) 01:38:41過去スレ、関連スレは >>2
■前スレ
http://pc12.2ch.net/test/read.cgi/tech/1234363551/
■本家
ttp://www.digitalmars.com/d/
ttp://www.kmonos.net/alang/d/ (和訳)
■コンパイラ
http://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
http://dgcc.sourceforge.net/ (GDC, gccフロントエンド)
http://www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)
■参考URL
ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
ttp://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
ttp://dsource.org/ (dsource)
ttp://tinyurl.com/candcpp2d (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動画)
ttp://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
■ 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)
0939デフォルトの名無しさん
2009/09/14(月) 21:56:14mixin(parse!(import("mymodule.pd")));
とかしてやるわけか。
0940デフォルトの名無しさん
2009/09/14(月) 22:07:330941デフォルトの名無しさん
2009/09/14(月) 22:19:180942デフォルトの名無しさん
2009/09/14(月) 22:28:060943デフォルトの名無しさん
2009/09/14(月) 22:56:550944デフォルトの名無しさん
2009/09/14(月) 23:54:10version1.6.1を使ってみたところ上手くhtmlを吐いてくれない。。
0945デフォルトの名無しさん
2009/09/15(火) 00:18:30-Dすれば?
ソースが複雑だとDMDですら落ちるけど。
0946デフォルトの名無しさん
2009/09/15(火) 01:01:36レスthx
オプション知らなかった、試してみます。
0947デフォルトの名無しさん
2009/09/15(火) 04:38:29いちいち module や import などで A. って付けないといけないですか?
だとしたらメンドクサイ・・・。
0948デフォルトの名無しさん
2009/09/15(火) 05:57:57-IA
0949デフォルトの名無しさん
2009/09/15(火) 07:11:590950デフォルトの名無しさん
2009/09/15(火) 07:22:510951デフォルトの名無しさん
2009/09/15(火) 09:49:30俺ケータイなので
誰か次スレ立てておk
0952デフォルトの名無しさん
2009/09/15(火) 13:20:29なるほど、どうもありがとう!!
0953デフォルトの名無しさん
2009/09/16(水) 03:39:32消したら?
0954デフォルトの名無しさん
2009/09/16(水) 03:53:00C++のデストラクタのようなものを期待してれば裏切られる。
Dのクラスオブジェクトのデストラクタは、
Javaや.NETでいうファイナライザに相当するもの。
0955デフォルトの名無しさん
2009/09/16(水) 03:58:28C++/CLIではDisposeメソッドのことをデストラクタと呼んでいるくらいだし。
0956デフォルトの名無しさん
2009/09/17(木) 06:23:14,―-y'"'~"゙´ | それ るるいえ うがふなぐる ふたぐん
ヽ ´ ∀ ` ゙':
ミ .,/) 、/) いあ いあ
゙, "' ´''ミ ハ,_,ハ ハ,_,ハ
(( ミ ;:' ,:' ´∀`'; ,:' ´∀`';
'; 彡 :: っ ,っ :: っ ,っ
(/~"゙''´~"U ι''"゙''u ι''"゙''u
0957デフォルトの名無しさん
2009/09/17(木) 12:57:230958デフォルトの名無しさん
2009/09/17(木) 20:48:54idouble[] arr = [1i, 2i, 3i, 4i];
arr[] += 3;
でエラー吐いた後dmd落ちた。
ちなみにdmd2.032ね
演算後に型が変化しないことを表明する白魔術探すか
0959デフォルトの名無しさん
2009/09/17(木) 21:16:12import std.stdio;
void test() {writeln("test");}
void main() {
test!(0, true, "AAAAAAAAA!")();
}
$ dmd -run test.d
test
(゚д゚)
0960デフォルトの名無しさん
2009/09/17(木) 22:07:080961デフォルトの名無しさん
2009/09/17(木) 22:45:230962デフォルトの名無しさん
2009/09/18(金) 01:52:36それが実現したらなんていうか、言葉に出来ない気持ちだよね
0963デフォルトの名無しさん
2009/09/18(金) 11:11:210964デフォルトの名無しさん
2009/09/18(金) 11:17:510965デフォルトの名無しさん
2009/09/18(金) 20:42:39原因を特定するために、convのソースを見てみたのですが、2979行のreturn to!T(cast(size_t) value, 16u);が分かりません。
この先は何行目を見ればいいのでしょうか?
0966デフォルトの名無しさん
2009/09/18(金) 20:44:070967デフォルトの名無しさん
2009/09/18(金) 20:51:200968デフォルトの名無しさん
2009/09/18(金) 20:52:25void main()
{
write("Say hello : ");
string line = readln();
if (line == "hello")
writeln("Hi.");
else
writeln("Bye...");
}
これ何入力しても偽になるんだがヘルプミー
Ubuntuです
0969デフォルトの名無しさん
2009/09/18(金) 20:55:49hello^
0970デフォルトの名無しさん
2009/09/18(金) 20:55:570971デフォルトの名無しさん
2009/09/18(金) 21:02:10http://code.google.com/p/noop/wiki/PropositionForScopes
あるインターフェースを宣言したスコープの中で俺実装のものを使うようにする
というようなことができるらしい
アロケータを切り替えたりするのに使えないかなーと思ってる。
今はコンストラクタに渡したり型に入れたりいまいちすっきりしないと思ってたので
0972デフォルトの名無しさん
2009/09/18(金) 21:02:13というかtypedefの元の型を取る方法ってあるんだろうか
0973デフォルトの名無しさん
2009/09/18(金) 21:05:05つstd.string.chop(readln());
0974デフォルトの名無しさん
2009/09/18(金) 21:18:37^はなんだそ
>>973
できたサンクス
chopで改行文字取り除いてるってこと?
0975デフォルトの名無しさん
2009/09/18(金) 21:21:260976デフォルトの名無しさん
2009/09/18(金) 21:24:42static if(is(T X == typedef))
0977デフォルトの名無しさん
2009/09/18(金) 21:28:43L2700
0978デフォルトの名無しさん
2009/09/18(金) 21:29:03あなるほど再定義すればいいのか
Thx
0979デフォルトの名無しさん
2009/09/18(金) 21:39:080980デフォルトの名無しさん
2009/09/19(土) 00:28:04thx
見る場所を間違えていました。
0981デフォルトの名無しさん
2009/09/19(土) 01:47:16これに対してD言語で作ったDLL(extern (C) export)で、下記の4つを試しました。
1、空の関数を呼び出す→何もおきない
2、例外を投げてキャッチしない→「不正な処理〜」とメッセージが出て落ちる
3、例外を投げて、投げた型でキャッチする→上と同じ
4、例外を投げて、Object型でキャッチする→何もメッセージが出ずに落ちる
3と4が謎です。
テストコードのexeを作って、そのまま実行なら落ちないんですが、
DLLにすること事によって例外の挙動が変わるのはどういうことなのでしょうか?
0982デフォルトの名無しさん
2009/09/19(土) 01:58:08DLLのインターフェースにする関数はnothrowな関数であるべきだと思う。extern(C)なら特に。
0983デフォルトの名無しさん
2009/09/19(土) 02:28:05DLL内の関数で投げて、その関数内でキャッチしてます。
3はキャッチできてなさそうだし、4はキャッチできてるならDLLの外には影響しないはず?と思うのですが謎です。
0984デフォルトの名無しさん
2009/09/19(土) 11:12:260985デフォルトの名無しさん
2009/09/19(土) 13:03:54Objectをキャッチしても落ちると言うなら、何かしらのアクセス違反があるのかもしれない。
0986デフォルトの名無しさん
2009/09/19(土) 13:50:57丁度try-catchで止められない例外が出たわ
自分のは単にアクセス違反だったよ
デバッガで追うと意味不明なところで止まるから、
そこで使ってるグローバル変数を__gsharedでマークしたらとりあえず動いた
extern(C) exportの中はTLSにアクセスすることすら許されないんだろうか…
0987デフォルトの名無しさん
2009/09/19(土) 15:36:26class Exception {};
try{
throw new Exception;
}
/*catch (Exception e) {}*/
catch (Object o) {}
関数の中身は簡単なテストコードです。
うーん、分からない。
0988デフォルトの名無しさん
2009/09/19(土) 15:52:180989デフォルトの名無しさん
2009/09/19(土) 17:01:57どうやらそれっぽいです。
throw new Exception;
を
Exception x = new Exception;
に変えても同じ症状になりました。
どうもでした。
レス数が950を超えています。1000を超えると書き込みができなくなります。