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


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

D言語 Part15



1 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 20:16:30 ]
プログラミング言語 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://www.sun-inet.or.jp/~yaneurao/dlang/
ttp://wisdom.sakura.ne.jp/programming/d/

830 名前:802 mailto:sage [2007/11/11(日) 20:46:36 ]
>>806>>807>>815
予想してた斜め上の回答がきててワロタ
構文解析とか意味解析とか知らないくせに左結合とか右結合とか
結合規則だけでコンパイラ語ってんじゃねぇ、ヴォケw

例えば、hoge モジュールの中に foo クラスがあって、bar っていうメソッドがあったとして、
hoge.foo.bar っていう字句列が何を意味するか分かる?

831 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:50:39 ]
>>830
何にも分かってないのはお前だけー

832 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:53:06 ]
やれやれ、結局煽るだけか。
まぁ、納得できないんじゃなく、理解できないんだからしょうがないが。

833 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:55:24 ]
>>832
つーかさ、なんで>802クンは>830で突然戻ってきた風なくせに、
突然>830でキレ気味に「ヴォケ」とかあおってんの?

そんなに悔しい出来ことがあったのですかー?

834 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:57:09 ]
はいはい、ごめんねー

835 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:57:40 ]
やれやれ、反論できずに非を認めて謝っちゃったか。最初からそうしとけばよかったのにな。

836 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 21:00:09 ]
うん、そうだね^^

837 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 21:01:23 ]
どうやらようやく理解できたようで。めでたしめでたし。

838 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 21:02:32 ]
はい



839 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:11:43 ]
わかったふりしたい時は
偉そうにクイズ出してごまかすに限るよな。

840 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:12:29 ]
上はじゃじゃ馬下はヘボ これなーんだ?

841 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:23:20 ]
ちんこ

842 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:38:35 ]
まあ>>833->>841は俺の自演なんだけどねー

843 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:49:47 ]
>>842
自演ってことにしたいの?そんなに悔しかったのかい?

844 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:26:43 ]
>>843
オマエガナー

845 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:27:48 ]
無駄なレスで消費するなよな・・・
と言うとこのレスも無駄だろと言われるんだろうけど。

846 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:31:37 ]
>>842-845
自演乙

847 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:31:48 ]
糞スレのいい再利用法だな

848 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:10:00 ]
>>846
くやしいのうwwwくやしいのうwww



849 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:58:02 ]
アイタタタタタ・・・

今日は802は悔しくて眠れないだろうなこりゃ。

850 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:59:36 ]
悔しがることかどうかもわかってないから大丈夫

851 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:59:39 ]
なんかスレのレベル下がったな

852 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:01:42 ]
俺のおかげだな。

853 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:44:38 ]
>>848
自演乙

854 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:51:56 ]
>>848=849
いい加減にしたらどうだ?
そこまでして勝ち誇りたいかね

855 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 02:04:02 ]
まだうだうだやってたのか。
せっかく俺が>>834を書き込んでやったというのに。

856 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 02:13:06 ]
でもそんなの関係ねー

857 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 02:20:07 ]
本当に悔しくて眠れないって、うけるwwwwwwwwwwwwwww

858 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 02:21:06 ]
いい加減に寝ろww



859 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 06:01:30 ]
おはよう諸君。
最後に書き込んだやつが、悔しくて最後まで起きてた奴ってことでいいかね?

860 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 07:33:14 ]
みんなみんな>>802

861 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 09:22:08 ]
>>859
悔しくて、朝一番に書き込んじゃったお前が NO.1だよ。寝てないんじゃない?

862 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 10:27:38 ]
下らない流れで加速させてもなあ(´・ω・)

863 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 10:53:31 ]
lazyって何につかってんのww

864 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 12:32:11 ]
>>859
おはよう>>802

865 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 13:18:39 ]
>>863
lazyとか、macroが導入されたら使い物にならなくなりそうな気がするな。
いまでもdelegateとか使えば表現できるし、使い道的にはぶっちゃけいらないんじゃね?
最適化のために使われたりするのかなぁ…

>>864
もういい加減その話題引っ張るのやめようぜ。

866 名前:デフォルトの名無しさん mailto:sage 願わくは俺再帰で無限ループ [2007/11/12(月) 18:00:38 ]
引っ張れば引っ張るほどそいつの悔しさが露呈するという事実

867 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:21:08 ]
>>866
やめようぜ、頼むよ。
再帰には終了条件を設定すべきだろ。

868 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:25:41 ]
終了条件はスタック溢れて例外飛ぶまででおk



869 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:56:51 ]
末尾最適化されて無限ループに

870 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 19:31:00 ]
auto D言語_Part15 = std.thread.getThis;
D言語_Part15.pause;

871 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 19:52:44 ]
何をどう書き込んだって俺の勝ちなんだから、
もう諦めようよw

872 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 20:13:26 ]
じゃ俺も勝ちで

873 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 20:16:29 ]
じゃあ俺は負けで

874 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:56:52 ]
何の祭かと思ってスレ開く前に公式すっ飛んでった俺涙目

875 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:13:13 ]
DSSS つかってみたんだけど
dsss build でexeファイルができない・・・

1>Creating imports for DD-Debug
1>Creating imports for DD-dsss_objs
1>Debug => DD-Debug
1>WARNING: Section Debug has no files.
1>dsss_objs => DD-dsss_objs
1>WARNING: Section dsss_objs has no files.

ってでます。

dsss build main.d ってやればできるんだけど
ルートディレクトリでコマンド一発ってのがdsssの機能をつかいたいです

876 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:40:31 ]
dmd 2.007で

void hoge(void delegate() func){
func();
}

void main(){
hoge({goto End;});
End:
return;
}

をコンパイルするとError: label End is undefinedってなるのと
mainのreturn;をはずすと(ラベルの後がすぐ}だと)エラー出すのは仕様通り?

877 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:51:03 ]
ラベルの後ろには文がないといけない。
End: ; ってしてみるといい。

878 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:58:46 ]
>>876
gotoで飛べるのは同じ関数の中のラベルだけで、
関数から飛び出したり別の関数へ飛び込んだりは出来ないよ。



879 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 01:38:38 ]
>>874
(´;ω;`)ぶわっ

880 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 05:34:50 ]
継・・・続・・・?

881 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 17:50:38 ]
継続はいらね

882 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:03:08 ]
あのさ、1系列はもういらない子なの?

883 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:32:21 ]
まぁ、一度もまともに固まったことのない言語に安定版の3文字など存在しないから、
1.xは実質的には、単なる「試行錯誤の跡地」であり、要らない子かもしれないな。
そこに何かを求めるのは、ついうっかりDの安定性に賭けて何か作っちゃった人くらいだな。

884 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:13:01 ]
今ふと気づいたんだけど、-v1オプションていつからか消えてる?

885 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:13:12 ]
>>883
ヒドスwwwww
でもそんな感じだな・・・
2.0もそうなるんだろうな・・・

886 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:19:54 ]
>>884
2.xには最初からなかったと思うけど
1.xにもなくなっているのかな

887 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:22:54 ]
C♯も3.0出るしな

888 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:26:53 ]
>>884
2.001から



889 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 23:48:23 ]
unrecognized switch '-debuglib=tango-base-dmd.lib'
Tango入れたらこんなん出てきたんですが、
これはどっか設定変えないと駄目なんでしょうか。

890 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 23:52:02 ]
DMDが古いんじゃね?

891 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:41:19 ]
入れてる dmd が古くて -debuglib オプションを持ってないんだろう

892 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:52:35 ]
omg
そうだったんすか。
ありがとうございました。

893 名前:デフォルトの名無しさん [2007/11/15(木) 02:07:06 ]
既出してたらゴメ。dmd2.007(win)で

import std.stdio;
void main()
{
auto A = new Object();
auto B = A;
delete A;
delete B;
writefln("end of process");
}
を実行すると、end of processは表示されるけど、
プロセスが終了しないんだが、

1.そういうことしちゃだめ。
2.今、gcがもっすごがんばってるからもうちょい待て。
3.delete式なんてただの飾りですよ。エロい人にはそれが分からんのです。
4.バグだけど直すほどの価値がない。
どれ?


894 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 02:15:54 ]
テキトーなクラスつくってデストラクタにwritelnでも入れとけば確認できるんじゃないでしょうか。

895 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 02:19:45 ]
ていうかよく見たら参照元がdeleteされたあとさらにdeleteしてるんすか。
これはやっちゃだめでしょう。

896 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 04:25:33 ]
気になって眠れないので調べたら、
「ポインタ、動的配列、参照変数は、 delete のあと null にセットされます。」
と言う一文が。
しかしこの場合nullがセットされるのは参照変数としてのA自体で、
Aの実体を参照してた参照変数のBはそのまんま(つまりゴミ参照してる)じゃないでしょうか。
なのでやっぱり複数の参照変数で参照されてる大元消したあとにdeleteするのはまずいかも。

897 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 09:24:20 ]
>>893
www.kmonos.net/alang/d/expression.html#DeleteExpression
 > それ以外の場合はガベージコレクタが呼び出され、
 > インスタンスに割り当てたメモリは直ちに解放されます。
とあるから、 delete A; でBが無効な参照になるのは確実だと思う。

ただ、解放済み(だけどもともとGCで確保した)領域への参照に対する
deleteについては仕様に言及がないと思うので、これは実装依存だと思う。
(つまり、実装によっては未定義動作となる可能性もあるということ)

実装依存となると、実装がどうなってるか分からない(今回の場合)なら
やっちゃ駄目な操作(選択肢の1)になるかな。

898 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 15:19:41 ]
ソースのどこで例外出してるか調べる方法ってありませんか?

dfl使ってツリービューとかにドラッグオーバーを何度か繰り返すと
例外吐くんですが、それがどこなのかわかりません。



899 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 15:59:14 ]
flectionedってそういうことできたっけ?

900 名前:893 [2007/11/15(木) 16:09:45 ]
>>894-897
あ、やっぱそっか。さんくす。
どうも4から疑ってしまう自分がいて、反省。
でも、例外とか吐いてくれるような仕様にならんかなあ。

901 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 17:18:37 ]
>>899
あれはTangoが無いと動かないみたいで。
dflとTangoの組み合わせは自分でやった限りでは出来なかったので。

902 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 20:52:50 ]
ddbg ttp://ddbg.mainia.de/

903 名前:デフォルトの名無しさん [2007/11/15(木) 21:26:28 ]
突然でアレなんだけどさ、これ

module a;
private import std.stdio;

module b;
import a;
void main()
{
std.stdio.writefln("hello");
}

>dmd b.d a.d

が通るって初めて知ったんだけど、キモくね?


904 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 21:32:41 ]
きもいね

905 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 21:34:31 ]
きもいけどどういう挙動が正しいのか仕様にはっきりと書いてないね。

906 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 22:43:37 ]
www.kmonos.net/alang/d/module.html
>デフォルトでは、import は private です。
>これは例えば モジュール A がモジュール B を、
>モジュール B はモジュール C をimportしていた場合、
>Cの名前はAでは探索されないということです。
>ただし、 import を特別に public と宣言すると、
>その import が取り込むモジュール内の全ての名前が、
>現在のモジュールを外からimportするモジュールにも見えるようになります。

未定義になるべきなのでは
もしかして実はデフォルトがpublicなのかなーとか思って明示的にprivate import aにしてみたがやっぱり通るね。

907 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 23:09:59 ]
バグじゃない?

908 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:00:36 ]
>>903
それ、モジュールAとimport a;が無くても通るんだよね。
だから、仕様だと思ってた。
フル修飾だとimport不要、みたいな。



909 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:01:33 ]
それだとstatic importの立場がなくなるがな

910 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 07:49:58 ]
8ビットのビットマップクラスをつくてるんだが、streamのFileをオープンした瞬間にアクセス違反で落ちる。
Windowsなんだけど、なんでかな〜。いまのとこ、無いファイルを作ろうとしてるんだけど。
コンソールに違反だよ〜ってでるからAPI内部の犯行ではないはずなんだけど。
あ、コンパイラのバージョンは1.015です。

    bool Save(char[] name, bool IsIgnor = false){
        BitmapFileHeader bmh;
        bmh.bfType = 0x4d42;// 'B'<<8 + 'M';        
        
        if(exists(name) == true){
            if(IsIgnor == false) return false;
        }
        
        static if(IsDebug) writefln("file:",name);
        File fo;
        fo.open(name,FileMode.OutNew);
/*      if(fo.isOpen == false) return false;
        
        fo.writeBlock(cast(void*)&bmh,bmh.sizeof);
        fo.writeBlock(cast(void*)&bih_,bih_.sizeof);
        fo.writeBlock(cast(void*)Palette_,uint.sizeof*Palette_.length);
        fo.writeBlock(cast(void*)Pixel_,ubyte.sizeof*Pixel_.length);
*/      fo.close();

911 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 08:22:13 ]
newせいよ

912 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 08:55:43 ]
>>911
ぐあ。はずかし!またやってしまった!!
くそー。癖って抜けないね。
なんにせよ、レスありがとう!!!!


913 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 18:16:10 ]
aliasじゃインターフェイスを実装したものとみなされないのか…

914 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 18:53:24 ]
Tangobos→Phango

915 名前:デフォルトの名無しさん [2007/11/16(金) 19:05:07 ]
Phagos

916 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 21:15:53 ]
Photangobos

917 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 21:21:30 ]
デバッグってvs2005でもいけるんでしょうか。
vs6だとうまく行くんだけど、vs2005だと作業フォルダ指定しても
ブレークポイントに反応してくれない。

918 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 21:21:37 ]
pthaonbgoos.



919 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 21:46:48 ]
phandango

920 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 22:20:40 ]
Tanpo

921 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:16:22 ]
Chi...

922 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:32:45 ]
>>889
>unrecognized switch '-debuglib=tango-base-dmd.lib'
自分もその現象が発生しました。Tango 0.99.3になってそのスイッチを使い始めたみたいです。
調査の結果、rebuildが-debuglibに対応できていないのが原因のようで、dsss最新版のrebuildを使ってみてもだめみたいです…
というわけで、dsssやrebuildを用いないでコンパイルするとうまくいくことがわかりました。
レスポンスファイルを作ってやるか、makeを活用するとよいかと思います。

というわけでそれを踏まえてDFL 0.96.01を使ってみたのだけど、いくつかはまったので使いたい方は以下を参考するとよいかと思います。
import\dfl\makelib.bat(23)にinternal/_stdcwindows.dを追加
import\dfl\makelib.bat(25)に_stdcwindows.objを追加
import\dfl\makelib.bat(34)の-v1を削除
でgo.batを実行してライブラリをビルドすることで解決したので参考までに載せておきます。

923 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:39:00 ]
>>917
ああそういうことだったのかな
前はソースレベルデバッグできてたのにいつの間にかできなくなったと思っていたら

924 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:45:01 ]
どなたかDflでドラッグドロップ系の処理が出来ている方っていますか?
いたらバージョンを教えてほしいのでスが。

925 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:39:57 ]
class A{
static void opBrace(void delegate() v){v();}
}
A{printf("brace");}
みたいなのが欲しい。


926 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:44:01 ]
q{} 文字列リテラルを追加しちゃったから、望み薄だな。

927 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:48:39 ]
>>926
あれは、{code();}.stringof とかの方がよかったと思うのにな。。

928 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:48:48 ]
tanpopo
tanbo
botan
popotan
bosan




929 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:53:37 ]
>>926
a(b)があるけど、opCallもあるから大丈夫だ。

930 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:55:55 ]
>>929
いや、そういうことじゃなくて…

931 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:12:34 ]
q{}を無くせばおk

932 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:20:01 ]
どういうことだ?
printf(q{A{"huga\n"}});は通る

933 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:43:14 ]
>>924
ドラッグドロップ系使う時は
Application.run(...) を呼び出す前に Application.autoCollect = false; として、
頻繁にGCが走らないようにすると、とりあえず落ちるのは回避できるみたい。
必要な領域までGCに解放されてしまってるのかも…

934 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:55:40 ]
直りました!

助かりましたありがとうございました。

935 名前:デフォルトの名無しさん [2007/11/17(土) 03:21:23 ]
mixin(q{aaaaaaaaaaaaaaa});
//error!

936 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 07:50:54 ]
phungus

937 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 08:15:23 ]
matango
simeji
enoki
shitake

938 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 10:27:00 ]
ttp://www.dsource.org/projects/tango/wiki/0_99_3_release
・DMD builds no longer generate libphobos.a/phobos.lib, but instead utilize the -defaultlib switch.
This enables phobos to install side-by-side with Tango
・Also note that there is an experimental D2.0 branch in our repositories now.



939 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 11:22:11 ]
ttp://www.dsource.org/projects/tango/browser/branches/experimental/D2.0

940 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 11:35:17 ]
>>932
頭悪いのな。お前。

941 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:08:26 ]
よく言われる

942 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:14:43 ]
よく言われる932
よく言い、よく陰で思われる940

943 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 13:23:45 ]
よく言われる932
よく言い、よく陰で思われる940
よく言い、よく影で思われ、それに気づかない942

944 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 14:17:02 ]
class q{
static string opBrace(void delegate() d){return d.stringof;}
}
class q{
static string opBrace(string s){return s;}
}
とかできれば、q{}はいらないと

945 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 14:58:13 ]
そもそもqは何のためにあるの

946 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 15:01:26 ]
mixin(q{ some_valid_code_here; });

947 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:09:11 ]
>>946
ありがとう
えーとじゃあ↓じゃなくて
mixin("some_valid_code_here;");
そうしたい場合ってのはどんなとき?

948 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:39:11 ]
文字列と整数を合体させたい場合ってどうやるんでしょうか



949 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:43:54 ]
>>947
mixin(q{ this is not valid tokens; }); // error
mixin(q{ this_is_valid(); });

ってことじゃね。

950 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:49:33 ]
>>948
std.conv.to!(string)

951 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:59:29 ]
mixin(" this is not valid tokens; ");
でもエラー出ね?
出るエラーが違うのかな

952 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:12:02 ]
>>951
変数に格納したりするなら、エラーの出る場所が違うな。

953 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:26:50 ]
みんな分かってるみたいなのに
q{}の意義が全然わからなくて俺涙目
>>949 それをどういうときに使うのかと

954 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:48:38 ]
mixin て何か分かってんのかね、おまいは。

955 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:00:36 ]
わかりやすく説明すると、トークン文字列 q { ... }の内部の文字列は、Dのトークンであるので、
Dの字句解析をパスしなければならない。
つまり、文字列が、Dのソースとして解釈可能であるかどうかを判別できる。

956 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:01:46 ]
q{}なんてあったの初めて知った。
コードを文字列として渡すときに、ダブルクォートの中にコードを書くなんていう、
エディタ支援が受けられない(どころかむしろ邪魔になる)苦行に挑まんで済むわけね。

957 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:04:00 ]
え?そうなの?
俺は、変態なことやってる場所を簡単に検索できるためだと思ってた。

958 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:50:02 ]
import std.stdio;
void main() {
const a1 = "\"hoge\"";
mixin("string c1=mixin(\"mixin(\\\"\\\\\\\"huga\\\\\\\"\\\")~\\\"hoge\\\"\") ~ mixin(a1);");
writeln(c1);

const a2 = q{q{hoge}};
mixin(q{string c2=mixin(q{mixin(q{q{huga}})~q{hoge}}) ~ mixin(a2);});
writeln(c2);
}
どっちがいいかとか



959 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:19:35 ]
import std.stdio;
void main() {
const C = q{ mixin(A) + mixin(B) };
const A = q{ a };
const B = q{ b };
int a = 10;
int b = 20;
writeln( mixin(C) );
}
こんなことできたりとか

960 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:39:42 ]
なんという遅延評価…

961 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:49:09 ]
import std.stdio;
void main() {
const s = q{mixin(s)};
writefln(mixin(s));
}

962 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:59:16 ]
q{}はmixin用ってことでおk?

963 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 21:00:15 ]
import std.stdio;
alias string symbol;
template add(symbol o, symbol v) {
const add = `mixin( q{`~o~`} ) + mixin( q{`~v~`} )`;
}
void main() {
const c = add!(q{a},q{b});
int a = 10;
int b = 20;
writeln(mixin(c));
a = 100;
b = 200;
writeln(mixin(c));
}

964 名前:953 mailto:sage [2007/11/17(土) 22:21:54 ]
>>954
mixinは大丈夫

他のレスは後で試してみます
なんか分かりそう
ありがとん

965 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 03:48:38 ]
べつに構文はvalidじゃなくとも字句だけDの範疇ならOKだよね?
q{int int class class invalid;}とかやっても大丈夫だし。

966 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 04:33:28 ]
実行時mixinないかなー

967 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 04:39:23 ]
opStarAssignマダー

968 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 07:46:51 ]
亀ですまんけどちょっと質問>>542どうやって?
int a,b,c;
Tuple!(a, b, c) = Tuple!(10, 20, 30);とかって無理じゃね?



969 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 09:04:33 ]
>>968
template Tuple(T...) { alias T Tuple; }

970 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 09:07:40 ]
もしかしてDMD古いとできない?

971 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:12:39 ]
>>970
1.023/2.006 でバグフィックスされてできるようになったのでそれより古いとダメ

972 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 13:26:30 ]
obj[index] = value;
はopAssignでオーバーロードできるけど、
obj[index] += value;
みたいな複合代入をオーバーロードする方法ってある?

973 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 13:36:38 ]
opAddAssign

974 名前:デフォルトの名無しさん [2007/11/18(日) 13:39:55 ]
あ、配列か。
opIndexでオブジェクトを返すとか

()がいるけど

975 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:22:19 ]
>>971
1.020使ってたよ・・・(´・ω・`)
バージョンうpしたいけどgdcがなあ・・・

976 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:39:31 ]
opIndexOpAssign
opStarAssign
opStarOpAssign

このあたり追加して欲しい

977 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 15:00:41 ]
Opってなんだ?

978 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 15:27:53 ]
AddとかDivとか



979 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 15:29:19 ]
opSliceOpAssign
opCallAssign
opCallOpAssign

もお願いします!

980 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:26:29 ]
obj(arg) = val;



…さすがに要らんと思う。

981 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:27:55 ]
obj(arg) += val;
きんもーwww


982 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:34:26 ]
perlだと関数呼び出しがlvalueになれるよな。
まあ、下駄雪駄を合わせたプロパティ的用途か、スライスへの代入の用途が主だから、
Dなら別の機能で間に合ってるけど。

983 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:51:25 ]
opCallで内部クラスでも返せばよくねwwwww

984 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 23:02:43 ]
どうぞ。

D言語 Part16
pc11.2ch.net/test/read.cgi/tech/1195394435/


985 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 08:06:43 ]
あとすこしで落ちるからたわ言など。

公式で、ユーザライブラリコンテストとかやらないかねぇ。
一回総集編を作ってほしい。
現状、フレームワークは決定打ないし、グラフィックライブラリはないし、サウンドライブラリも無い。
でもなぜかZIPはあるし、細かいスパイスのきいたライブラリがそろってるのもまー事実。
Tangobosの問題もあるし、V2系のラストで是非やってほしいと結構おもてる。
問題はいつV2系が安定するかだなぁ。。。

986 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 08:23:40 ]
あと15レス分は何に使うかな。

987 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 08:31:00 ]
Truetypeフォントを動的ロードできて、さらに描画できたら、結構汎用性あがるかなぁ。
ファイルフォーマットの内容しらないし、ライセンスがどうなってるかは知らないけど。
プログラムの場合ってラスタフォントのほうが相性いいのかなぁ。

988 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 08:41:07 ]
インターフェースの設計っていい叩き台ないもんですかね。
現状、Bitmapのインターフェースの設計をてきとーにやってるんですけど、
うまく全部(1〜32びっと)に当てはまるインターフェースが良くわからないです。
総合あーかいばプロジェクトは割りとその辺の設計が良かったから普及したようなもんだし。
なんか、いい手はないもんかなぁ。



989 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 09:04:06 ]
規制に引っかかったので自重

990 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 13:47:25 ]
>>982
perlのlvalueってあれ単に参照返してるだけに見える俺は異常?

991 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 16:26:04 ]
中間言語導入による部分的な動的コンパイルの実現!

992 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 16:41:26 ]
中間言語いらんからコンパイラを標準ライブラリに(ry

993 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 16:47:31 ]
>>988
よくわからんが、
void[]でビットイメージを保持しておいて、
インデクサを用いて適切に変換するようにすればいいんじゃなかろうか。

994 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 17:04:36 ]
>>988
>707だけど同じ目的なので設計を話し合ってみませんか?
私はピクセルに触る部分だけ専用の関数を作って、これをピクセルフォーマットごとに変えるようにし、
それ以外の塗りとかその他は必ずその関数経由で触るように設計しました。

あとで自分がやった内容についてファイルをうpしてみます。

995 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 17:23:34 ]
>>990
参照返してるだけだな。
ただの構文糖

996 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 18:17:27 ]
俺の欲しいもの:
* プロパティに対する複合代入
* ラムダ式

をるたん、クリスマスプレゼントまってます。

997 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 18:33:38 ]
それまで>996はいい子にしてないとな

998 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 20:28:25 ]
D言語 Part16
pc11.2ch.net/test/read.cgi/tech/1195394435/l50




999 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 20:30:25 ]
次スレ
D言語 Part16
pc11.2ch.net/test/read.cgi/tech/1195394435/l50


1000 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 20:30:45 ]
1000

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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