D言語 Part9
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/05/03(水) 20:37:40過去スレは>>2
■本家
http://www.digitalmars.com/d/
http://www.kmonos.net/alang/d/ (和訳)
■コンパイラ
http://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
http://home.earthlink.net/~dvdfrdmn/d/ (GDC, gccフロントエンド)
http://gdcmac.sourceforge.net/ (GDCのmac用バイナリ)
■参考URL
http://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
http://dsource.org/ (dsource)
0002デフォルトの名無しさん
2006/05/03(水) 20:38:38Part 8 http://pc8.2ch.net/test/read.cgi/tech/1137068104/
Part 7 http://pc8.2ch.net/test/read.cgi/tech/1122912733/
Part 6 http://pc8.2ch.net/test/read.cgi/tech/1109933426/
Part 5 http://pc5.2ch.net/test/read.cgi/tech/1102785854/
Part 4 http://pc5.2ch.net/test/read.cgi/tech/1091185216/
Part 3 http://pc5.2ch.net/test/read.cgi/tech/1079068715/
Part 2 http://f3.aaacafe.ne.jp/~null/cache/1079280501.html
Part 1 http://pc5.2ch.net/tech/kako/1003/10036/1003674814.html
0003デフォルトの名無しさん
2006/05/03(水) 20:39:36【str ~= "nullpo"】
0004デフォルトの名無しさん
2006/05/03(水) 21:14:05乙
0005デフォルトの名無しさん
2006/05/03(水) 21:17:18http://www.tdjonline.com/
0006デフォルトの名無しさん
2006/05/04(木) 19:20:430007デフォルトの名無しさん
2006/05/05(金) 03:54:190008sage
2006/05/05(金) 08:27:24普及へのロードマップが全然想像できないが
0009デフォルトの名無しさん
2006/05/05(金) 08:28:470010デフォルトの名無しさん
2006/05/05(金) 10:11:34まずPG言語やバイナリに関心のある分野を抑えないと。
0011デフォルトの名無しさん
2006/05/05(金) 12:15:53001210
2006/05/05(金) 13:01:18使うのは多少できるが、、
0013デフォルトの名無しさん
2006/05/05(金) 13:03:09001410
2006/05/05(金) 13:18:560015デフォルトの名無しさん
2006/05/05(金) 13:23:510016デフォルトの名無しさん
2006/05/05(金) 15:37:320017デフォルトの名無しさん
2006/05/05(金) 15:50:000018デフォルトの名無しさん
2006/05/05(金) 15:58:490019デフォルトの名無しさん
2006/05/05(金) 16:18:090020デフォルトの名無しさん
2006/05/06(土) 05:11:30各モジュールが独自にスコープを持つ仕様のせいか思うように逝かない。
0021デフォルトの名無しさん
2006/05/06(土) 06:35:25http://www.digitalmars.com/d/windows.html
これすか。
0022デフォルトの名無しさん
2006/05/06(土) 06:40:32前verまで、パブリックだったので、スレッドの識別(連想配列のキーなど)に使っていたのだが、
代わりがないようなので、std.Thread継承して、同じようなメンバ作るしかないのかな?
0023デフォルトの名無しさん
2006/05/06(土) 06:47:49それ。
毎回同じコードだから独立させたかった。
0024デフォルトの名無しさん
2006/05/06(土) 07:15:27link.exe WinMainのobj+mainのobj,,,,定義ファイル/co/noi;
で何とか逝けた…
もっと楽な手段がありそうだが今はこれで我慢しよう。
0025デフォルトの名無しさん
2006/05/06(土) 22:10:20-L/su:windows 付ければ、 main でもコンソール出なくなるんだけど
0026デフォルトの名無しさん
2006/05/06(土) 23:05:51nCmdShowはとれたっけ。
0027デフォルトの名無しさん
2006/05/07(日) 01:12:540028デフォルトの名無しさん
2006/05/07(日) 03:28:22実現したかったことは
・毎度おなじみの>>21のWinMainのコードをdmain2.dみたく分離してもう弄る事のないように。
・WinMainから呼ばさせる関数は(main関数みたく)どのモジュールに書いても呼び出される。
で、結果的に必要だった。
mainでもコンソール出なくなるのは
「何故WinMain()が呼ばれねー → 別モジュールにあるmain()が呼ばれてるから」
って馬鹿な過去の経験により知ってる。
3-4行目のことをを実現するに至った方法が
「"WinMainからmainを呼ばせて"別モジュールにmainの実体を記述」
なんだがな。
extern(C)のmainの如く>>21のコードとはもう無縁だし(もちろんリンクは必要だが)
>>24みたくリンカを直接弄くらなくてもOKなことも分かったし
mainから記述できる上に例外はちゃんとWinMainが拾ってくれて
MessageBoxを出してくれることも確認できた。
0029デフォルトの名無しさん
2006/05/07(日) 09:18:21我ながらセンス無さ過ぎですが。
http://dream.my-sv.net/upload/vipprg/src/up0001.png
0030デフォルトの名無しさん
2006/05/07(日) 09:28:46http://dream.my-sv.net/upload/vipprg/src/up0002.png
0031デフォルトの名無しさん
2006/05/07(日) 11:01:22なんか色合いが、JavaというかSunっぽくね?
0032デフォルトの名無しさん
2006/05/07(日) 11:38:55なんか・・Dが3つもある意味が無いような
0033デフォルトの名無しさん
2006/05/07(日) 11:56:00なんでダイワハウスなんだ?
0034デフォルトの名無しさん
2006/05/07(日) 13:48:240035デフォルトの名無しさん
2006/05/07(日) 18:20:14無名クラスから周囲の関数がどうもうまく扱えない。
これって正常な動作なんだろうか?
class HogeAdapter {
void foo() { printf("hoge"); }
}
class Hoge {
private HogeAdapter _hogeAdapter;
void addHogeAdapter(HogeAdapter hoge) { this._hogeAdapter = hoge; }
void foo() { if (_hogeAdapter) _hogeAdapter.foo(); }
}
class Nanika {
void hige() { printf("hige"); } // 扱いたい関数
/*
class HigeAdapter : HogeAdapter { void foo() { hige(); } }
void foo() {
auto hoge = new Hoge;
hoge.addHogeAdapter(new HigeAdapter);
hoge.foo();
} //↑のように書けば問題無し。
*/
void foo() {
auto hoge = new Hoge;
void hige() { this.hige(); } // �@
hoge.addHogeAdapter(new class() HogeAdapter { void foo() { hige(); } });
hoge.foo();
}
}
void main() { auto nanika = new Nanika; nanika.foo(); }
�@の行があればコンパイルは通る。(これは書かないで済んで欲しい)
ただし、実行するとAccess Violationになる。
0036デフォルトの名無しさん
2006/05/07(日) 18:50:24> 非staticネストクラスは、隠しメンバ(コンテクスト・ポインタと呼びます)を
> 一つ加えることで実現されています。 """関数内にあるときは周囲の関数のフレームポインタ"""が、
> クラス内にあるときは周囲のクラスの this ポインタが、隠しメンバに格納されています。
となっているので、今のところ仕様かなあ。
確かにクラスのメンバ関数内にあるときは両方にアクセスできて欲しいかも。
0037デフォルトの名無しさん
2006/05/07(日) 19:41:38>関数のフレームポインタ
サンクス。なんとなく分かったような気になった。
以下のような場合うまく動作するが、
これは最外周の関数がポインタとなってると考えればいいのかな?
無知でスマソ。
class HogeAdapter { void foo() { printf("hoge"); } }
class Hoge {
private HogeAdapter _hogeAdapter;
void addHogeAdapter(HogeAdapter hoge) { this._hogeAdapter = hoge; }
void foo() { if (_hogeAdapter) _hogeAdapter.foo(); }
}
void main() {
void hige() { printf("hige"); }
void foo() {
auto hoge = new Hoge;
hoge.addHogeAdapter(new class() HogeAdapter { void foo() { hige(); } });
hoge.foo();
}
foo();
}
0038デフォルトの名無しさん
2006/05/07(日) 20:27:24扱いたいメソッドをstaticメンバにするのはどうよ?
0039デフォルトの名無しさん
2006/05/07(日) 21:05:24メソッドから呼び出すメソッドにも全てstaticを
付けなくてはならなくなってもう大変。
0040デフォルトの名無しさん
2006/05/07(日) 21:07:54auto hoge = new Hoge(this, &hige);
auto hoge = new Hoge(this, delegate void() { printf("hige"); });
Hoge.this(Control owner, void delegate() a)
{
}
0041デフォルトの名無しさん
2006/05/07(日) 21:09:58Hoge.this(Control owner, void delegate() a)
{
this.foo = a;
owner.addAdapter(this);
}
0042デフォルトの名無しさん
2006/05/07(日) 21:30:52void handleMouseDown(Object customData, void delegate(MouseEvent) func)
0043デフォルトの名無しさん
2006/05/10(水) 01:19:05なんかないの?
0044デフォルトの名無しさん
2006/05/10(水) 01:24:580045デフォルトの名無しさん
2006/05/10(水) 01:51:46あれなしじゃ生きていけないよ
0046デフォルトの名無しさん
2006/05/10(水) 03:35:52もうアレがないと、まともに組めない。
0047デフォルトの名無しさん
2006/05/10(水) 07:10:42.ncb再構築のために、VS起動しなおしたりするようになったし・・・
0048デフォルトの名無しさん
2006/05/10(水) 08:39:51eclipseプラグインででも作ってみるか
0049デフォルトの名無しさん
2006/05/10(水) 16:49:25↓
どうせなのでDでパーサーを作ろう
↓
作り始める
↓
インテリセンスない
↓
めんどい
↓
作る気なくなる ←今ここ
0050デフォルトの名無しさん
2006/05/10(水) 17:41:58じゃあくれ
0051デフォルトの名無しさん
2006/05/10(水) 23:56:390052デフォルトの名無しさん
2006/05/11(木) 08:57:590053デフォルトの名無しさん
2006/05/12(金) 00:32:20Eclipse用ってことは言語はJavaでいいんじゃないかな?
まずは要件定義から。
0054デフォルトの名無しさん
2006/05/12(金) 00:36:11と、>49を見て思った。
0055デフォルトの名無しさん
2006/05/12(金) 01:12:080056デフォルトの名無しさん
2006/05/12(金) 09:11:290057デフォルトの名無しさん
2006/05/12(金) 09:13:53参加してみたいがついていけるか不安
0058デフォルトの名無しさん
2006/05/12(金) 09:24:53ここはあくまでもD言語について語るスレ、せめて別のスレ立てれ、そして俺も助力する
0059デフォルトの名無しさん
2006/05/13(土) 12:58:09構造解析も意外と速いんじゃなかろうか?
テンプレートやmixinみたいな機能に対応するのは難しいかも知れんけど
解析さえしてしまえばあとは楽だと思う
0060デフォルトの名無しさん
2006/05/13(土) 12:59:44D vs その他の言語
http://www.kmonos.net/alang/d/comparison.html
C++のように、ライブラリでの実装を推奨したとすれば、上記の比較表はかなり違ったものになる。
この比較は、標準ライブラリでの実装を否定し、言語仕様に組み込むことを善とする考えに基づいている。
その理由として:
言語の機能 vs ライブラリによる実装
http://www.kmonos.net/alang/d/builtin.html
を挙げている。漏れには、これらの「利点」が、ライブラリでの実装を否定するほどのものではないように見える。
その他のDの機能も、C++でできることを、Dは少し簡易にできるというだけにしか見えない。
結論:C++で必要十分。
0061デフォルトの名無しさん
2006/05/13(土) 13:25:100062デフォルトの名無しさん
2006/05/13(土) 13:32:390063デフォルトの名無しさん
2006/05/13(土) 13:39:51それでいいんじゃないか。
0064デフォルトの名無しさん
2006/05/15(月) 00:42:320065デフォルトの名無しさん
2006/05/15(月) 00:45:50C++の実装とインターフェースを分けて書くところが嫌い。
あれ以外は全部好きなんだけどね。
逆にDはそれが一つで済むところだけのためにすきなのだけど(w
0066デフォルトの名無しさん
2006/05/16(火) 00:01:16::が一番嫌い。
0067デフォルトの名無しさん
2006/05/16(火) 00:28:58同志
0068デフォルトの名無しさん
2006/05/16(火) 00:54:22.でいいジャンとか思う
0069デフォルトの名無しさん
2006/05/16(火) 03:49:55分けて書くのは構わないんだが
結局インタフェースに実装を書いてしまうところがイヤ
0070デフォルトの名無しさん
2006/05/16(火) 05:16:18インスタンスメソッドとクラスメソッドの違いを解釈するために
コンパイラが手抜きしているとも言う
0071デフォルトの名無しさん
2006/05/16(火) 08:15:490072デフォルトの名無しさん
2006/05/16(火) 14:42:00akide:こないだ開発やめたんだっけか?
elephant:どうなったか知らん
Eclipce:未だにハイライトだけ?
蜻蛉切り:(´・ω・`)
まだなんかあったっけ
とにかく使いやすいのはないと思われ
0073デフォルトの名無しさん
2006/05/16(火) 14:51:55007472
2006/05/16(火) 14:59:40akide
DIDE->elephant->poseidon
Eclipce
蜻蛉切り
もうない?
0075デフォルトの名無しさん
2006/05/16(火) 18:02:01エディタはTeraPadにCオプション渡してる。
"C:\Program Files\TeraPad\TeraPad.exe" /cpp "%1"
↑こんなかんじにフォルダオプションから。
0076デフォルトの名無しさん
2006/05/16(火) 18:27:31poseidonは現時点でもまあ使えない事はない。
0077デフォルトの名無しさん
2006/05/19(金) 10:17:010078デフォルトの名無しさん
2006/05/19(金) 18:56:57オプソなのに誰もパッチ作ってない所に皆のやる気の無さを感じる。
0079デフォルトの名無しさん
2006/05/19(金) 21:13:560080デフォルトの名無しさん
2006/05/19(金) 22:34:27キーワードしか補完してくれないようじゃ使えないなあ
0081デフォルトの名無しさん
2006/05/19(金) 22:37:58そこで>>53とかの話になるわけだがどうなったんだ
0082デフォルトの名無しさん
2006/05/19(金) 23:00:49でも面白いねこれ
0083デフォルトの名無しさん
2006/05/19(金) 23:02:39008482
2006/05/19(金) 23:03:340085デフォルトの名無しさん
2006/05/19(金) 23:06:27http://dsource.org/projects/dparser/browser/trunk/dparser?rev=36
0086デフォルトの名無しさん
2006/05/19(金) 23:15:36じゃあこっちいじってみたほうがよさそうだなあ
サンプルがよくわからんが…
0087デフォルトの名無しさん
2006/05/20(土) 08:07:240088デフォルトの名無しさん
2006/05/20(土) 10:44:180089デフォルトの名無しさん
2006/05/20(土) 10:56:55救世主キタ━━━━━━(゚∀゚)━━━━━━ !!
0090デフォルトの名無しさん
2006/05/20(土) 11:28:390091デフォルトの名無しさん
2006/05/20(土) 11:34:450092デフォルトの名無しさん
2006/05/20(土) 12:21:000093デフォルトの名無しさん
2006/05/20(土) 12:39:150094デフォルトの名無しさん
2006/05/20(土) 12:42:10009594
2006/05/20(土) 12:43:390096デフォルトの名無しさん
2006/05/20(土) 14:02:310097デフォルトの名無しさん
2006/05/20(土) 14:56:27んじゃまず
C++とかなにかでD言語用IDEを作り
そうしてできたD言語用IDEでD言語用IDEを作れば解決
0098デフォルトの名無しさん
2006/05/20(土) 15:00:03うp
0099デフォルトの名無しさん
2006/05/20(土) 15:05:37( ´,_ゝ`)プッ
0100デフォルトの名無しさん
2006/05/20(土) 16:21:12宣言別に連想配列にキーワードぶち込むだけでOKかな?
0101デフォルトの名無しさん
2006/05/20(土) 17:53:52・普通にツリー構造を解析できる
・テンプレート、mixinを解析できる
・externブロック内など言語に直接関係しない部分は解析対象外(そうしないと難しすぎるし)
コード補完の条件
・Ctrl+Space(任意)でツリーの特定部分を絞り込む
・ピリオドで下位ツリーの一覧を表示する
・左辺への代入、引数の指定などの場合は型優先表示される オプション
・大文字小文字を無視する(確定後補完する) オプション
EclipseみたいなIDEのインテリセンスに肩を並べるにはここまでいかなね。
ぶっちゃけEclipseプラグインでいいと思うから、インテリセンスはJavaで作ればいいよ。
あと省略文字登録も可能にするとより完璧。(psfi → private static final intと補完)
0102デフォルトの名無しさん
2006/05/20(土) 18:14:22って、インクリメンタルサーチの普通の実装だけど。
0103デフォルトの名無しさん
2006/05/20(土) 18:25:20それはちゃんとしたエディタなら、できるからねえ。
それを超えるのがIDE
0104デフォルトの名無しさん
2006/05/20(土) 18:34:440105デフォルトの名無しさん
2006/05/20(土) 18:38:360106デフォルトの名無しさん
2006/05/20(土) 23:50:220107デフォルトの名無しさん
2006/05/20(土) 23:52:160108デフォルトの名無しさん
2006/05/22(月) 09:07:340109デフォルトの名無しさん
2006/05/22(月) 12:48:380110デフォルトの名無しさん
2006/05/22(月) 13:35:02それがDクオリティ
0111デフォルトの名無しさん
2006/05/22(月) 18:31:38http://www.digitalmars.com/d/htod.html
0112デフォルトの名無しさん
2006/05/22(月) 18:44:20ソースがない ただの屍の様だ
0113デフォルトの名無しさん
2006/05/22(月) 18:50:47dmcの一部を使ってるからソース出せないとか何とか
0114デフォルトの名無しさん
2006/05/22(月) 23:18:380115デフォルトの名無しさん
2006/05/22(月) 23:28:48サーバーサイドでもないし、クライアントアプリにも見えんし。
0116デフォルトの名無しさん
2006/05/23(火) 00:15:02そんな市場あるの?って疑問はあえて持たないでくれ
0117デフォルトの名無しさん
2006/05/23(火) 01:04:55unixのデーモンのことか?
0118デフォルトの名無しさん
2006/05/23(火) 01:46:150119デフォルトの名無しさん
2006/05/23(火) 02:02:42だから個人ユースしか見えない・・・
0120デフォルトの名無しさん
2006/05/23(火) 19:31:32メモリリーク心配しなくていいから
当然ゲームなんかも向いてる
0121デフォルトの名無しさん
2006/05/23(火) 19:57:220122デフォルトの名無しさん
2006/05/23(火) 20:13:270123デフォルトの名無しさん
2006/05/23(火) 21:09:59ガベコレの動作が不安ではある
0124デフォルトの名無しさん
2006/05/23(火) 21:25:192GHzの時代ならぜんぜん勇気を持って踏み込めると思う
11ミリ秒くらいはゲームに使えるんじゃない?
0125デフォルトの名無しさん
2006/05/23(火) 22:51:28後は一切 new しないプログラムを書けばいいだろう。
0126デフォルトの名無しさん
2006/05/23(火) 23:00:380127デフォルトの名無しさん
2006/05/23(火) 23:08:32クラス指向な言語なんだから一つながりのシーンに割り当てるに十分なメモリがあればそれほどGCも問題にならないよ。
0128デフォルトの名無しさん
2006/05/23(火) 23:28:39積み木ファイターがそれだっけ。
>>126
そうおもったw
0129デフォルトの名無しさん
2006/05/24(水) 00:07:11ガベコレがおきると困る期間(1プレイ分とか)の分だけ
がばっと確保して、その期間が過ぎたら解放して、
新しい期間が始まるときにまたがばっと確保して、
という方針でやるときには、確保と解放が何度も
起こるから、一応Dの意味はあると思う。
ガベコレを一定期間無効にするのはなんか問題が
あったんだっけ?
0130デフォルトの名無しさん
2006/05/24(水) 00:47:43何も一度に全て処理する必要ないように思う。
0131デフォルトの名無しさん
2006/05/24(水) 01:46:31http://d.hatena.ne.jp/ultraist/
これ、DとDWTみたいなんだけど、ガイシュツかね?
0132デフォルトの名無しさん
2006/05/24(水) 01:54:51DWTのやつはまだ出ていないでしょ。
今あるやつはDFL。
ちょーどガベコレの話が出ているが
>>131はガベコレがまともに動かないらしくdeleteで解決してる。
スレッドが関係しているのか。
0133デフォルトの名無しさん
2006/05/24(水) 01:55:07まあ、メモリプールはよく使われるね。
↓こんな風にすれば、プールしながら、newもつかえる
http://d.hatena.ne.jp/h_sakurai/20060417
でもマンドクセ('A`)
0134デフォルトの名無しさん
2006/05/24(水) 02:17:52なんか、そこみてるとGCが特定の条件下で、駄目駄目っぽいんだけど、
誰か現象をまとめてくださいよ。
0135デフォルトの名無しさん
2006/05/24(水) 02:25:20http://www.dprogramming.com/dfl.php
GUIのデザイナーもあってよさそうに見えるが
http://www.dprogramming.com/entice.php
0136デフォルトの名無しさん
2006/05/24(水) 02:36:36宣伝すな
0137デフォルトの名無しさん
2006/05/24(水) 02:43:57マルチバイト文字の対応が微妙で
Windows2000で動かないらしい。
それでDWTだとか。
XPでも、tabcontrol.dがダメらしく、自分で変更しろ書いてある。
0138デフォルトの名無しさん
2006/05/24(水) 02:57:12他人のページ宣伝してもおもろないんだが('A`)
>>137
なるほど。ちょっとつらいね
0139デフォルトの名無しさん
2006/05/24(水) 08:33:15はいはい
宣伝すな
0140デフォルトの名無しさん
2006/05/24(水) 17:19:30http://d.hatena.ne.jp/ultraist/20060109/p3
宣伝すないわれるが、これは気になる。
マジですか。
0141デフォルトの名無しさん
2006/05/25(木) 00:22:180142デフォルトの名無しさん
2006/05/25(木) 00:33:120143デフォルトの名無しさん
2006/05/25(木) 00:42:11無関係のサイトを張ったら荒らし
それ以外のサイトを張ったら宣伝
0144デフォルトの名無しさん
2006/05/25(木) 04:22:390145デフォルトの名無しさん
2006/05/25(木) 07:10:250146デフォルトの名無しさん
2006/05/26(金) 08:44:180147デフォルトの名無しさん
2006/05/26(金) 19:01:45たいしたことしてないのかな?
0148デフォルトの名無しさん
2006/05/26(金) 20:03:210149デフォルトの名無しさん
2006/05/26(金) 20:46:17fix/bugってどこで調べられるん?
0150デフォルトの名無しさん
2006/05/27(土) 00:06:30NewsgropusのD.bugsか、Bugzillaあるいは、Dstress。
0151デフォルトの名無しさん
2006/05/27(土) 15:51:460152デフォルトの名無しさん
2006/05/27(土) 20:50:150153デフォルトの名無しさん
2006/05/28(日) 10:21:52din.readLine() を使って標準入力をすべて受け取るループはどうやって書くんでしょうか?
標準入力の終端の検出方法がわからないのですが orz
0154デフォルトの名無しさん
2006/05/28(日) 10:26:58readLineを諦めて下みたいに書くじゃ駄目?
foreach(char[]line;din){
}
0155デフォルトの名無しさん
2006/05/28(日) 10:46:30一行ずつ読めたらOKです。
ストリームに対してもforeach使えたんですね。
0156デフォルトの名無しさん
2006/05/28(日) 10:50:110157デフォルトの名無しさん
2006/05/28(日) 10:55:35http://www.kmonos.net/alang/d/phobos/std_stream.html
std.Stream.opApplyに書いてますね。
opApplyってうまく使うと中々便利です。
0158デフォルトの名無しさん
2006/05/28(日) 11:09:10一度ちゃんと読み直す必要がありそうです。
ありがとうございました。
0159デフォルトの名無しさん
2006/05/28(日) 11:35:13else ¥
: This line works around a 'make' bug in BSDI 1.1.; ¥
FIXPROTO_DEFINES=""; export FIXPROTO_DEFINES; ¥
mkinstalldirs="/bin/sh ../../gcc/mkinstalldirs"; ¥
export mkinstalldirs; ¥
if [ -d "/usr/include" ]; then ¥
/bin/sh ../../gcc/fixproto include include /usr/include; ¥
if [ $? -eq 0 ] ; then true ; else exit 1 ; fi ; ¥
else true; fi; ¥
echo timestamp > include/fixed; ¥
fi
fixproto: populating `include'
(No *.h files in /Users/Yume/tmp/gdc/gcc-3.3.6/build/gcc/include/d)
(No *.h files in /Users/Yume/tmp/gdc/gcc-3.3.6/build/gcc/include/d/3.3)
(No *.h files in /Users/Yume/tmp/gdc/gcc-3.3.6/build/gcc/include/d/3.3/etc)
(No *.h files in /Users/Yume/tmp/gdc/gcc-3.3.6/build/gcc/include/d/3.3/etc/c)
make[1]: *** [stmp-fixproto] Error 1
make: *** [all-gcc] Error 2
gdc 0.18 gcc 3.3.6 Mac OS X 10.3.9
ここで止まっちゃう…
0160デフォルトの名無しさん
2006/05/30(火) 20:39:51http://www.dsource.org/projects/bcd
gccxmlが必要らしい。
0161デフォルトの名無しさん
2006/06/04(日) 02:34:080162デフォルトの名無しさん
2006/06/04(日) 09:44:230163デフォルトの名無しさん
2006/06/04(日) 11:13:25http://dream.my-sv.net/upload/vipprg/src/up0008.d
0164163
2006/06/04(日) 12:22:40if(instance.classinfo!=typeid(Night))
change!(Night)();
}else{
if(instance.classinfo!=typeid(Day))
change!(Day)();
}
は
if(hours>=17||hours<=4){
if(instance.classinfo!=Night.classinfo)
change!(Night)();
}else{
if(instance.classinfo!=Day.classinfo)
change!(Day)();
}
の間違い
0165デフォルトの名無しさん
2006/06/04(日) 14:06:490166デフォルトの名無しさん
2006/06/04(日) 14:14:100167デフォルトの名無しさん
2006/06/04(日) 15:12:50http://dream.my-sv.net/upload/vipprg/src/up0010.d
ようするにContextうぜーのでStateの中で収まってほしいと。
0168デフォルトの名無しさん
2006/06/04(日) 15:14:37ちょっといま死ぬほど忙しいのでもうしばらく待ってちょ
……と日本語訳の中の俺がいってた。
0169デフォルトの名無しさん
2006/06/04(日) 15:24:48Noahだけはガチで便利なので愛用してます。ありがとう。
0170デフォルトの名無しさん
2006/06/04(日) 15:33:34死ぬほど忙しい癖に反応早いじゃねーか。
サボって2chばっかしてるのを忙しいなんて言うな。
0171デフォルトの名無しさん
2006/06/04(日) 15:35:170172デフォルトの名無しさん
2006/06/04(日) 16:08:20他の人にスレで煽られてるよ、とか教えてもらったとかじゃない?
0174デフォルトの名無しさん
2006/06/04(日) 18:06:33やって現実逃避してしまう人間の性…乙カレー
0175デフォルトの名無しさん
2006/06/04(日) 19:52:3464ビットコンパイラはでないのか。。。
0176デフォルトの名無しさん
2006/06/04(日) 19:57:30wなんて使いませんから。
0177デフォルトの名無しさん
2006/06/04(日) 22:53:260179デフォルトの名無しさん
2006/06/05(月) 12:22:530180デフォルトの名無しさん
2006/06/05(月) 13:17:58* Documentation is much more controlled by style sheets now.
* AssertExpression's can now take an optional informational string as the second parameter. Static assert's can, too.
* Added Expression.NewExpression so inner classes can be initialized more conveniently.
* Added operator overloading of InExpression.
* For Windows, looks for sc.ini in:
1. The current working directory
2. The directory specified by the HOME environment variable
3. The directory dmd.exe resides in
* For Linux, looks for dmd.conf in:
1. The current working directory
2. The directory specified by the HOME environment variable
3. directory dmd resides in
4. /etc/
0181デフォルトの名無しさん
2006/06/05(月) 15:36:56ttp://www.kmonos.net/alang/d/japanese.html
> 生存報告のために更新してみるテスト
がんばれー
0182161
2006/06/05(月) 16:15:45NDSの英語漬けFランクの俺に手伝えることはあるか?
0183デフォルトの名無しさん
2006/06/05(月) 17:53:29http://pc8.2ch.net/test/read.cgi/tech/1149440647/
0184デフォルトの名無しさん
2006/06/06(火) 00:09:17を参考にDWTをインストールしようとしたら
E:\D\dmd\import>build -release -O -clean -inline -lib -full -allobj dwt\all.d -
T..\lib\dwt.lib -version=OLE_COM -version=DRAG_DROP
'E:\D\dmd\bin\lib' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
ってなってインストール出来ない…
何か心当たりある人は居ませんか?
0185デフォルトの名無しさん
2006/06/06(火) 01:43:010186デフォルトの名無しさん
2006/06/06(火) 02:07:48こないだ foreach(char[] line; din) を教わった者です.
これはリダイレクトならうまくいくのですが,
a.exe < text.txt
パイプで接続すると無限にループしてしまいます.
type text.txt | a.exe
リダイレクトと同じように動作させるにはどうしたらよいのでしょうか?
サンプルコード
--
import std.cstream;
int main(char[][] args)
{
foreach(char[] line; din)
{
dout.writef(line, "\n");
}
return 0;
}
0187デフォルトの名無しさん
2006/06/06(火) 02:08:28空白はなくなるんだった orz
すいませんが脳内修正してください
0189デフォルトの名無しさん
2006/06/06(火) 08:25:46ホントだ。無限ループしてる。w
0190デフォルトの名無しさん
2006/06/06(火) 08:42:38E:\D\dmd\bin\にlib.exeを突っ込んでみたらどうだろうか。
0191デフォルトの名無しさん
2006/06/06(火) 08:44:31よく見ると最後に1行余分な改行が付くね
a.exe < text.txt > textout.txt
してみると分かる
0192186
2006/06/06(火) 11:42:43うまく動いているようです.
しかしこうしなきゃいけないもんなんでしょうかね.
Stream dinbuf = new BufferedStream(din);
foreach(char[] line; dinbuf)
{
dout.writef(line);
}
dinbuf.close();
0193186
2006/06/06(火) 11:51:55dout.writef(line);
は
dout.writefln(line);
にしといてください(^^;
0195デフォルトの名無しさん
2006/06/07(水) 20:49:150196デフォルトの名無しさん
2006/06/07(水) 23:21:390197デフォルトの名無しさん
2006/06/08(木) 19:01:44Example:
>type test.d
private import std.stdio;
char[] l="localized string"l;
void main(){writefln(l);}
>dmd -l test.d
>cp test.en.lang test.ja.lang
>nano test.ja.lang
>dmd test.d test.en.lang test.ja.lang
>test.exe
0198デフォルトの名無しさん
2006/06/08(木) 19:39:450199デフォルトの名無しさん
2006/06/08(木) 19:49:26馬鹿?
0200デフォルトの名無しさん
2006/06/08(木) 23:27:47これが出来てしまえばD用Eclipseプラグインにも拍車が掛かるというもの。
きょうび本体よりも付加価値に需要があるもんだ。
0201デフォルトの名無しさん
2006/06/08(木) 23:38:15IDEがDじゃなきゃいけないなんて誰も思わないだろうし
0202デフォルトの名無しさん
2006/06/10(土) 08:19:11うまく動いているというより
バッファのおかげで止まってるだけのような気がする
0203デフォルトの名無しさん
2006/06/11(日) 00:49:26しかもALL自作だとパーサがコンパイラ実装の車輪になってしまう。
0204デフォルトの名無しさん
2006/06/12(月) 20:59:05止めたくて止まったんだからそれでいいのでは
0205デフォルトの名無しさん
2006/06/14(水) 21:58:070206デフォルトの名無しさん
2006/06/14(水) 23:19:17最近、CTRL+SPACEで同一ファイル内での補完ができることに気づいた。
0207デフォルトの名無しさん
2006/06/15(木) 00:11:43それで十分だとは思わないのだけど
0208デフォルトの名無しさん
2006/06/15(木) 01:23:510209デフォルトの名無しさん
2006/06/15(木) 02:19:340210デフォルトの名無しさん
2006/06/15(木) 04:17:28roguelikeやればとりあえずviでのカーソル移動はスムーズに行えるぞ
viはナナメ移動できないけど
0211デフォルトの名無しさん
2006/06/15(木) 05:43:14ただ、emacsやviの場合は、操作系統だけじゃなくて機能も
変わってくるから、より移行が大変なんだけどな。
忘れては覚えなおすのを慣れるまで続ける必要はある。
たしか、emacsやvimにはチュートリアルがついてくるから、
それを出す方法さえ覚えておけばなんとか。
xyzzyは、/++/形のコメントに対応してるd-modeがないから
お勧めできないけどな。
0212デフォルトの名無しさん
2006/06/15(木) 06:52:45今時どこでもWin開発Lin鯖だけど、設定ファイル弄るのにいちいちFTP使いたくないでしょ
0213209
2006/06/15(木) 16:43:37だよね
あぼーん
0214デフォルトの名無しさん
2006/06/15(木) 21:57:02最近のLinuxて今でもviなん?
なんて、俺はBSDなんだけど
すれ違い乙
0215デフォルトの名無しさん
2006/06/15(木) 22:02:40これはシェル、エディタあたりには共通して言える事柄だね。(Linuxだとシェルは固定だろうけど)
0216デフォルトの名無しさん
2006/06/16(金) 00:47:11Javaのプラグイン改造してなんとかDに対応できんものか。
0217デフォルトの名無しさん
2006/06/16(金) 17:32:480218デフォルトの名無しさん
2006/06/18(日) 01:04:54いつ直るんだろうこれ…(´・ω・`)
このバグを回避するためのphobosの修正箇所とかわかる人いない?
0219デフォルトの名無しさん
2006/06/18(日) 01:27:170220デフォルトの名無しさん
2006/06/18(日) 09:33:21std.format.dだったはず
0221デフォルトの名無しさん
2006/06/20(火) 18:55:250222デフォルトの名無しさん
2006/06/20(火) 18:58:15関数型言語臭が非常に強くなったw
0223デフォルトの名無しさん
2006/06/20(火) 18:59:38Jun 19, 2006
New/Changed Features
* Added opIn_r operator overload.
* Function return types for lambda delegates can now be inferred.
* delegate keyword now optional for lambda delegates.
* Shadowing local variable declarations is now deprecated.
* New function template syntax.
0224デフォルトの名無しさん
2006/06/20(火) 20:45:08イイヨーイイヨー
0225デフォルトの名無しさん
2006/06/20(火) 20:47:25Rubyのブロック構文みたいだw
すげー
Dやりたくなってきたw
0226デフォルトの名無しさん
2006/06/20(火) 20:58:10変更がわかりやすいサンプルコードも一緒に書いて欲しい(T-T
せめてドキュメントのどこが変化したのか簡単にわかればなぁ
// * New function template syntax.
//
// template Square(T)
// {
// T Square(T t)
// {
// return t * t;
// }
// }
// これがこんな感じになったらしい
T Square(T)(T t)
{
return t * t;
}
0227デフォルトの名無しさん
2006/06/20(火) 21:05:37templateが名前空間を持つって意味無かったな
0228デフォルトの名無しさん
2006/06/20(火) 21:07:00間違ってたらすまんw
// * Function return types for lambda delegates can now be inferred.
// * delegate keyword now optional for lambda delegates.
double test()
{
double d = 7.6;
float f = 2.3;
void loop(int k, int j, void delegate() statement)
{
for (int i = k; i < j; i++)
{
statement();
}
}
loop(5, 100, { d += 1; } );
loop(3, 10, { f += 3; } );
return d + f;
}
0229デフォルトの名無しさん
2006/06/20(火) 21:41:41Square(3);
で使えるのは前からだっけ?
0230デフォルトの名無しさん
2006/06/20(火) 21:48:320.149からだったと思う。
0231デフォルトの名無しさん
2006/06/20(火) 21:50:33関数テンプレートの暗黙のインスタンス化が楽になったけど(↓)
T min(T)(T a, T b)
{
return a<b?a:b;
}
void main()
{
dout.writef(min(10,20));
}
その名前空間の話と両立させることはできないのかな
0232デフォルトの名無しさん
2006/06/20(火) 21:56:540233231
2006/06/20(火) 21:57:07脊髄反射だめぽ
0234デフォルトの名無しさん
2006/06/20(火) 22:08:51(限定的な)Implicit template instantiationの対象となる関数テンプレートが、
新しい文法で書かれたものになるってことではないかと。
0235デフォルトの名無しさん
2006/06/20(火) 22:09:23そろそろD言語プログラミングの手引きになる良い本が欲しくなってきた
気が早いのはわかってるけどww
今のところtemplate周りはC++の本,あとはC#の本で代用するしかないのが悲しい
0236デフォルトの名無しさん
2006/06/21(水) 03:15:01今は違うみたいだけど、それいいね。
0237デフォルトの名無しさん
2006/06/24(土) 11:58:45Javaとかでは決して出来ない仕様の作り方だ。
いつ仕様をコミットする気なのか聞いてみて欲しいw
0238デフォルトの名無しさん
2006/06/24(土) 12:27:50プログラマなんだから、開発のやめどころを計る能力はあると思う。
DMが満足するまでにD言語がどこまで行ってしまうのか楽しみ。皮肉抜きで。
0239デフォルトの名無しさん
2006/06/25(日) 00:50:45いまそこら辺を担ってるのがクラスの不変条件だけど、
基本データ型の変数をメンバに持つクラスが変数の値の範囲の責任を持つんじゃなくて
メンバとして扱われる変数の型が範囲の責任を持つような感じ。
0240デフォルトの名無しさん
2006/06/25(日) 01:48:50クラスってユーザ定義の「型」でしょ
あとはオペレータオーバーロードでごまかせればそれでいいんじゃね?
どこまで基本型を模倣するかはクラスの設計者が考えたらいいんだし
>>237-238
思うんだが「とりあえずver1にする」の段階まで全然来てないんじゃないのか
うぉるたんは
> 今後の方向性
> 以下の新しい機能のDへの実装を計画していますが、 詳細はまだ定まっていません:
> Templateの継承
> 配列演算
> 配列リテラル
も構想してるだけの段階だろ
IDEがどうのこうの言うのはまだ早いってのと同じで
ver1マダー?
ってのは時期尚早じゃね?
0241デフォルトの名無しさん
2006/06/25(日) 01:53:31もはや永遠の17歳よろしく永遠のβと呼ばれるポジションに来ている
0242デフォルトの名無しさん
2006/06/25(日) 02:29:260243デフォルトの名無しさん
2006/06/25(日) 04:47:570244デフォルトの名無しさん
2006/06/25(日) 04:53:330245デフォルトの名無しさん
2006/06/25(日) 14:45:070246デフォルトの名無しさん
2006/06/25(日) 15:52:33つーか例えば
「型Fooはint型の変数valueをメンバに持ち、外部から参照すると
valueの範囲が常に0〜31であることを保証するクラスである」
ではなくて
「型Fooは0〜31の範囲の値をとり得るint型である」
みたいな簡単な定義ができるようなのがサポートされたらイイナって話。
基本型の値に対する契約表明みたいな位置づけで。
簡単な定義を簡単に記述できるわけだし、
Foo is intだから変数は参照型じゃなくて値型として処理できるし。
0247デフォルトの名無しさん
2006/06/25(日) 15:54:39俺の作った中途半端なSAXがあるけど欲しい?
0248デフォルトの名無しさん
2006/06/25(日) 16:00:25コンパイラが認識可能なアノテーションみたいな感じかな
0249デフォルトの名無しさん
2006/06/25(日) 20:03:31int a;
assert(a>=0 && a<=31);
// こんなふうに書いて
int b {assert(b>=0 && b<=31);};
b = 20; // 書き込みは不変条件評価
int c = b; // 読み込みは評価せず
// って感じかね。後はtypedefを拡張して
typedef int Foo(value) {assert(value>=0 && value<=31);};
// とか。やりたいことはわかる
// アスペクト指向を基本型でもできるのが近いかもしれない
0250デフォルトの名無しさん
2006/06/25(日) 21:56:34そのtypedefを拡張ってのがかなりイメージに近いかな。
typedef+invariantな「もっと強い型」がホッスィ。
(alias+invariantでもいいけど)
業務ルール的な値の範囲チェックや配列長チェックなどの他の面でも、
その型の変数の値を参照するときには「不変条件が守られている」ことが
証明(デバッグ時に限り?)されてるからいろいろと便利になると思ふ。
0251デフォルトの名無しさん
2006/06/25(日) 21:58:58○配列長チェックなどの面の他にも、
0252デフォルトの名無しさん
2006/06/25(日) 22:30:320253デフォルトの名無しさん
2006/06/25(日) 23:33:190254デフォルトの名無しさん
2006/06/25(日) 23:45:110255デフォルトの名無しさん
2006/06/25(日) 23:53:470256デフォルトの名無しさん
2006/06/26(月) 00:09:410257デフォルトの名無しさん
2006/06/26(月) 00:11:37で、初期値が指定できるので、
typedef int xint[0,100] = 10;
みたいな感じでできたらいいなあ。
0258デフォルトの名無しさん
2006/06/26(月) 01:42:21知ってたらスマソが
typedef int[0,100] xint = 10;
じゃなくて
typedef int[100] xint = 10;
だったら現状でもできるよ。
0259デフォルトの名無しさん
2006/06/26(月) 01:53:270260デフォルトの名無しさん
2006/06/26(月) 01:56:29部分範囲型があるのと、実際に範囲チェックしてくれるのとは別だけどな
Delphiとか('A`)
0261デフォルトの名無しさん
2006/06/26(月) 01:57:35つ{$R+}
0262デフォルトの名無しさん
2006/06/26(月) 01:58:20範囲チェックすると普通に遅くなるし。
0263デフォルトの名無しさん
2006/06/28(水) 00:02:44indigo.xml.expat はなかなかよく働いてくれています。
0264デフォルトの名無しさん
2006/06/28(水) 01:22:45以前どうなるか試したら構造体のprivateメンバに自由にアクセスできたから
それ以来ずっと構造体のメンバにアクセス属性指定しても無視されるものなのかと思ってた。
同じモジュール内で試したらそりゃ自由にアクセスできる罠。
0265デフォルトの名無しさん
2006/06/28(水) 01:42:08アクセス指定が意味ないことに後で気づいたりする
ファイル内で名前空間みたいにモジュール空間を指定できたらいいのになー
考えたことなかったけどモジュール空間の分割ってできたっけ?
0266デフォルトの名無しさん
2006/06/28(水) 01:56:530267デフォルトの名無しさん
2006/06/28(水) 03:20:20でもやっぱり分割はできないね
0268デフォルトの名無しさん
2006/06/28(水) 08:00:32んでprivateメンバにアクセスできる以上スコープ分割での誤魔化しは根本的な解決にならない。
この場合は素直にファイル分割じゃないかな。
アクセス指定が意味ないなーって状況に陥るってことは結合度の低いもんが混じっちゃってるんでしょ。
0269デフォルトの名無しさん
2006/06/28(水) 16:42:540270デフォルトの名無しさん
2006/06/28(水) 16:48:45>>240
0271デフォルトの名無しさん
2006/06/28(水) 20:10:47別の考え方をするなら、モジュールの規模を、
アクセスコントロールなしでもミスを起こさない程度にすべしってことでもあるかな。
0272デフォルトの名無しさん
2006/06/28(水) 20:30:43ということか。
0273デフォルトの名無しさん
2006/06/28(水) 21:04:560274デフォルトの名無しさん
2006/06/28(水) 22:00:43if( 0 == 1 ){
return 0;
}
}
1.61でコンパイルすると
Error 42: Symbol Undefined __d_assert_msg
--- errorlevel 1
というエラーがでるようです。(1.60では普通に通る)
明らかにソースはおかしいですがシンタックスエラーにはならないようですね。
0275デフォルトの名無しさん
2006/06/28(水) 22:05:50あの、Ragel State Machine Compiler みたいなもので
お茶をにごされてもちょっとなので。
ANTLRっぽいOOしているものは、はっきり言ってイヤです。
0276デフォルトの名無しさん
2006/06/28(水) 23:48:270277デフォルトの名無しさん
2006/06/29(木) 00:06:480278デフォルトの名無しさん
2006/06/29(木) 00:35:29Dでyaccやlexを作るのではなく、Dとの親和性の高いコードを吐くyaccやlexです。
まず、ハイスペックな人をDの方へ誘致すべきだと思うのですが、
そのためには、このあたりのツールは必須かとおもいますた。
0279デフォルトの名無しさん
2006/06/29(木) 01:29:35Conroe2 ES版とかを使っている人の事か?
0280デフォルトの名無しさん
2006/06/29(木) 02:22:08CPU:自作 (3.75GHz)
MEMORY:2048MB PC2-4200 DDR2-SDRAM メモリー
HDD:シリアルATA 1.2TB(3個x400GB) 7200rpm 8M ハードディスク
グラフィックス:256MB RADEON X1900GT ビデオカード
M/B:ASUS P5WD2-E ATX マザーボード
0281デフォルトの名無しさん
2006/06/29(木) 04:13:580282デフォルトの名無しさん
2006/06/29(木) 04:40:17父さん・・・酸素欠乏症にかかって・・・
0283デフォルトの名無しさん
2006/06/29(木) 05:31:32ネタでも86互換ってのは悲しい現実。
0284デフォルトの名無しさん
2006/06/29(木) 06:09:480285デフォルトの名無しさん
2006/06/29(木) 07:06:32> ANTLRっぽいOOしているものは、はっきり言ってイヤです。
OOっぽいコードを吐くかどうかは、はっきり言ってどうでもいい気がするんだが。
どうせParser Generatorを使う場合、生成されたコードを利用するだけなわけだし。
というかむしろ、素のyaccみたいにグローバル変数使いまくりでreentrantじゃない
コード吐かれる方がよっぽど困るような。
0286デフォルトの名無しさん
2006/06/29(木) 08:17:430287デフォルトの名無しさん
2006/06/29(木) 12:36:57http://www.dsource.org/projects/dgrammar
0288デフォルトの名無しさん
2006/06/29(木) 12:38:260289デフォルトの名無しさん
2006/06/29(木) 20:52:27=演算子のオーバーロードに対するWalterタンの見解とか記事とか
過去のD言語スレで話題になったとかない?
非常に知りたいことなんだけど=が無視されてググれん。
0292デフォルトの名無しさん
2006/07/01(土) 11:31:120293デフォルトの名無しさん
2006/07/01(土) 16:27:41Bugs Fixedだけか・・・
0294デフォルトの名無しさん
2006/07/02(日) 15:51:07"0x0040a1ce"の命令が"0x00000000"のメモリを参照しました。メモリが"written"になることはできませんでした。
とかいうエラーが出るんですが‥‥ 0.161からなんか変わったんですかね。
修正履歴見るとバグ修正しかないように思えますけど。
0295デフォルトの名無しさん
2006/07/02(日) 17:02:23>>294トンクス、漏れは0.161に戻す。
0296デフォルトの名無しさん
2006/07/05(水) 22:53:24三項演算子の条件で前置インクリメントしたときに
実行ステートメントが期待通りにならないんですけどそういうものなんですか
0297デフォルトの名無しさん
2006/07/05(水) 23:15:380298デフォルトの名無しさん
2006/07/05(水) 23:17:28とりあえず、問題の発生する三項演算子の式と、それの期待する動作を書け。
0299デフォルトの名無しさん
2006/07/06(木) 06:44:24C言語で同じ式を書けば違う動作をするんだろうな?
0300デフォルトの名無しさん
2006/07/06(木) 08:54:28例えばこんなの
int i=0;
printf(++i?"%d\n":"",i);
期待する出力は1なんだが0が出力される
C、JAVAで同様のコードを書くとちゃんと1が出力される
0301デフォルトの名無しさん
2006/07/06(木) 09:05:39C,Dでは引数の評価順序は実装依存。
そんなコードを書いてはいけない。
Javaは左から右と決まっているのな。知らんかった。
0302デフォルトの名無しさん
2006/07/06(木) 15:44:53それは動作不定の書いてはいけないコード
0303デフォルトの名無しさん
2006/07/06(木) 21:26:03>>302
ご指摘の通り、言語仕様にもちゃんと書いて有りました
お騒がせ致しました
0304デフォルトの名無しさん
2006/07/08(土) 09:03:28o ~= new OBJ;
これって有効?
この時点でのo.lengthは1だよね
0305デフォルトの名無しさん
2006/07/08(土) 09:32:37でもやっぱりそんな事すると重くなるのかな
0306デフォルトの名無しさん
2006/07/08(土) 09:32:57ムリ
0307デフォルトの名無しさん
2006/07/08(土) 12:41:01alias(T)(T a) G_TYPE_CHECK_INSTANCE_CAST(a, GTK_TYPE_BIN, GtkBin) GTK_BIN(a);のような事ができればいいのになぁ…
0308デフォルトの名無しさん
2006/07/08(土) 18:25:49選択肢としてあればメリットにもなると思うけどデメリットもあるよなあ
disableじゃなくてプールして再利用する設計にするほうがいいんじゃね
>>307
ttp://www.digitalmars.com/d/htod.html
使ったことないけどこれじゃできないの?
0309307
2006/07/09(日) 23:08:540310デフォルトの名無しさん
2006/07/10(月) 03:18:36C++のページからBasic Utilities 落とせ。
あと、要するにOMF形式なのでborland c++やopen watcomのimplibもつかえる
0311デフォルトの名無しさん
2006/07/12(水) 22:57:24もしかして他のライブラリの中だったりする?
0312デフォルトの名無しさん
2006/07/13(木) 12:04:21T[] monad(T)(T[] a,T function(T) f){
T[] re;
foreach(T b;a){
re~=f(b);
}
return re;
}
uint a(uint a){
return a+2;
}
uint b(uint a){
return a-1;
}
void main(){
static uint[] t=[0,1,2];
writefln(monad(monad(t,&a),&b));
}
0313デフォルトの名無しさん
2006/07/13(木) 14:18:45○ S[] monad(T,S)(T[] a,S[] function(T) f)
ならリストモナドのbindだな。
0314デフォルトの名無しさん
2006/07/13(木) 14:21:26writefln(monad(monad(t,&a),&b));
は
t.monad(&a).monad(&b).writefln();
と書きたいところだ。
0315デフォルトの名無しさん
2006/07/13(木) 23:36:45結局,合成関数と思ってていいんだろうか
よくわからん
0316デフォルトの名無しさん
2006/07/14(金) 15:33:03Download here:
http://sourceforge.net/project/showfiles.php?group_id=154306
Release Notes for 0.19
* Fixed D Bugzilla bugs 141(gdc), 157, 162, 164, 171, 174, 175,
192, 229
* Applied Dave Fladebo's suggestion for -O3 in gdmd
* Updated to DMD 0.162
* The version symbol for FreeBSD is now "freebsd"
* Enabled std.loader for FreeBSD
* Implement offsetof in assembler
* Support building with Apple's GCC (4.0 only)
* Fix parallel builds
0317デフォルトの名無しさん
2006/07/17(月) 15:10:09このペースだと、でる頃には俺は爺になっていて
静かに盆栽でもいじってるよ。
0318デフォルトの名無しさん
2006/07/17(月) 15:28:03見切りでライブラリ作ったら余裕でごみ化させてくれるぞ。
0319デフォルトの名無しさん
2006/07/17(月) 22:06:09PMだけならやってもいいけど。
0320デフォルトの名無しさん
2006/07/17(月) 22:25:54開発形態よりは独断専行の現状の方が期待が持てる。
0321デフォルトの名無しさん
2006/07/17(月) 22:55:340322デフォルトの名無しさん
2006/07/17(月) 23:05:05余生をD言語をいじって過ごす生活、悪くないじゃん。
・・・そうか?
0323デフォルトの名無しさん
2006/07/17(月) 23:05:371にしかならないという皮肉なのか、素ボケなのか、どっちだろうね。
0324デフォルトの名無しさん
2006/07/17(月) 23:09:27ってどうでもいいよね。すまんかった。
0325デフォルトの名無しさん
2006/07/18(火) 01:06:440326デフォルトの名無しさん
2006/07/18(火) 01:10:58まあネイティブで高級OOは諦めろってことだね
0327デフォルトの名無しさん
2006/07/18(火) 08:35:32STLのalgorithmとか,lokiのtypelist,functorとか,
boostのbindとかのDの実装を見かける度に色々と期待してるんだがなあ
0328デフォルトの名無しさん
2006/07/18(火) 08:37:17Dが大躍進するロードマップが見えないんだよなぁ
まずは1.0になることからか…
0329デフォルトの名無しさん
2006/07/18(火) 09:32:16BetterThanC++程度じゃだめじゃない?
0330デフォルトの名無しさん
2006/07/18(火) 11:27:27俺は今のウォルターたんの独壇場を支持してるから、
どこぞの企業に捕らわれるのは気が進まないので
コミュニティに力をつけてもらうしかないかなと。
0331デフォルトの名無しさん
2006/07/18(火) 18:42:210.150
0.151
0.152
0.153
0.154
ナメクジかおまえは。
0332デフォルトの名無しさん
2006/07/19(水) 01:28:571000人ぐらいいるのかな。
0333デフォルトの名無しさん
2006/07/19(水) 01:49:53http://mixi.jp/view_community.pl?id=13952
少なくともこれだけはいるかもしれない
0334デフォルトの名無しさん
2006/07/19(水) 02:24:250335デフォルトの名無しさん
2006/07/19(水) 02:34:060336デフォルトの名無しさん
2006/07/19(水) 04:41:480337デフォルトの名無しさん
2006/07/19(水) 12:16:46public import xx;はmodule test : xx;の方が良いと思うのだが…
0338デフォルトの名無しさん
2006/07/19(水) 18:29:43Jul 18, 2006
New/Changed Features
* Object.opCmp now throws an error. Should override it if used. Breaks existing code.
* Imports now default to private instead of public. Breaks existing code.
* Added static imports, renamed imports, and selective importing.
0339デフォルトの名無しさん
2006/07/19(水) 18:49:36ちゅうか
Added static imports, renamed imports, and selective importing.
なんだこれ
どこに書いてるか探すか・・・
0340デフォルトの名無しさん
2006/07/19(水) 20:35:12static import hoge;
インポートしたモジュールのシンボルが、名前空間に導入されないので、
hogehoge() // エラー
hoge.hogehoge(); // Ok
renamed import:
import hoge=hagehogefuga;
hoge.hogehoge(); // Ok
hagehogefuga.hogehoge(); // error
hogehoge() // error
selective import:
import hoge : hogehoge, hagehage = hogehuge;
hogehoge(); // Ok
hagehage(); // Ok
hogehuga(); // error
0341デフォルトの名無しさん
2006/07/19(水) 21:00:360342デフォルトの名無しさん
2006/07/20(木) 01:13:330343デフォルトの名無しさん
2006/07/20(木) 01:41:41boolって以前bitだった気がしたけど違ったっけ?
0344デフォルトの名無しさん
2006/07/20(木) 01:56:20bitのaliasだったと思う。
0345デフォルトの名無しさん
2006/07/20(木) 02:49:07bit <- 組み込み型
alias bit bool
今
bool <- 組み込み型
alias bool bit
まぁ大した差ではないな。
0346デフォルトの名無しさん
2006/07/20(木) 04:23:550347デフォルトの名無しさん
2006/07/20(木) 05:10:330348デフォルトの名無しさん
2006/07/20(木) 14:34:06また、生存確認をやっとく?
ttp://www.kmonos.net/alang/d/index.html
0349デフォルトの名無しさん
2006/07/20(木) 15:32:43一ヶ月以上、経ってるから
確認すべきだな
管理人さん生きてますかー
0350デフォルトの名無しさん
2006/07/20(木) 15:49:29夏休みの宿題はギリギリになって慌てないように、早めにやっておくんだよ。
0351デフォルトの名無しさん
2006/07/20(木) 16:03:270352デフォルトの名無しさん
2006/07/20(木) 18:53:00作るにしてもその元になる情報が公開されているのか
いないのかさえ知らないから出た質問なのだ
0353デフォルトの名無しさん
2006/07/20(木) 18:55:23以下の新しい機能のDへの実装を計画していますが、 詳細はまだ定まっていません:
1. Templateの継承
2. 配列演算
3. 配列リテラル
--
これくらいしかわからんぞ
これらのどんなところが嬉しいのか考えてみようっと
0354デフォルトの名無しさん
2006/07/20(木) 19:09:250355デフォルトの名無しさん
2006/07/20(木) 22:01:12「C++でpoolして再利用」
ってどっちが早いんだ?
Dではpoolじゃないとゲームとか止まるんだけど、ちょっと気になってみた。
0356デフォルトの名無しさん
2006/07/20(木) 22:39:38>pong >>348-351。
>あうあーすみません。 さっき忙しい原因がだいたい終わったので、そろそろ復活します。 原文の更新量を把握してないので適当ですが、 今月中に追いつければいいなって感じで。
0357デフォルトの名無しさん
2006/07/20(木) 22:58:40thx
http://www.all-technology.com/eigenpolls/dwishlist/index.php?it=18
コンパイルの段階に関連が生じないなら,これいいなと思う
0358デフォルトの名無しさん
2006/07/20(木) 23:08:12auto x = new A();
A x();
下の方がタイプ数少ないのに下にしてないってことは不可能ってことなのかなー.
0359デフォルトの名無しさん
2006/07/21(金) 05:46:24これいいなあ
左辺の型から自動判別して欲しいけど。
0360デフォルトの名無しさん
2006/07/21(金) 23:09:17下のやつは不可能でしょ。
returnType functionHoge();
と区別がつかない。
0361デフォルトの名無しさん
2006/07/22(土) 03:03:400362デフォルトの名無しさん
2006/07/22(土) 11:56:080363デフォルトの名無しさん
2006/07/22(土) 12:42:02そうだっけ…
じゃあ何でですか?
0364デフォルトの名無しさん
2006/07/22(土) 13:40:230365デフォルトの名無しさん
2006/07/22(土) 13:53:12というのは、関数の宣言。
関数の定義は、
type identifier (argument_list) { function_body }
関数の定義とは区別つくけど、宣言と区別がつかないからダメって話じゃないの?
0366デフォルトの名無しさん
2006/07/22(土) 23:49:27CでもC++でも区別が付くのにDでダメなのは何でかなと思って
0367デフォルトの名無しさん
2006/07/22(土) 23:55:15C/C++でも区別つかねーよ。
int x();とでもコンパイラしてみ
0368デフォルトの名無しさん
2006/07/23(日) 00:37:06public としてしかimportされないがな。orz
private alias int hoge;
と書いてもprivateなaliasにならない。orz
0369デフォルトの名無しさん
2006/07/23(日) 11:10:04ttp://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/40572
0370デフォルトの名無しさん
2006/07/23(日) 12:29:260371デフォルトの名無しさん
2006/07/23(日) 12:33:33Subject: Is D 0.163 D 1.0?
From: Walter Bright
Date: Sat, 22 Jul 2006 00:30:35 -0700
I think the title says it all.
なんか、中途半端な1.0だなあ、、、
0372848
2006/07/23(日) 12:46:090373デフォルトの名無しさん
2006/07/23(日) 12:56:20同意。
!inとかarray initialization/literalsとかforeachの拡張だとかループのretryだとかネスト関数用の多段階returnとか多段階breakとかcのヘッダファイルを直接インポートできるようにするとかして欲しいし。
0374848
2006/07/23(日) 14:28:59これやるとなるとマクロとかを解析しなくちゃならないから
せっかくコンパイルがちょっぱやなのに
少しの手間を省くためにCコンパイラ並みに遅くなったら嫌過ぎる。
そのうち誰かがツールを作るんじゃね?
0375デフォルトの名無しさん
2006/07/23(日) 14:51:00トラブルの元だと思う。
ネスト関数からの多段階returnって要るかなあ?
breakはラベル付きbreakで代用すればいいらしい。
0376デフォルトの名無しさん
2006/07/23(日) 15:03:45あれ・・・デフォルトコンストラクタの呼び出しなら A x(); でも A x;
でもいいのかと思ったら前者は駄目なのか・・・大丈夫なんだと思ってたよ orz
吊ってきます
0377デフォルトの名無しさん
2006/07/23(日) 17:34:21低脳は永遠に黙ってれば恥かかずに済むってことを覚えとけ
0378デフォルトの名無しさん
2006/07/23(日) 17:54:12import std.c.windows.windows;
HMODULE hModule = LoadLibraryA("UNLHA32.DLL");
//WORD WINAPI UnlhaGetVersion(VOID)
extern(Windows) short function() UnlhaGetVersion_;
UnlhaGetVersion_ = cast(???) GetProcAddress(hModule,"UnlhaGetVersion");
???の部分。
とりあえず、受け側をキャストして誤魔化したけど
*(cast(void**)&UnlhaGetVersion_) = GetProcAddress(hModule,"UnlhaGetVersion");
0379デフォルトの名無しさん
2006/07/23(日) 17:59:06で良くね?
0380デフォルトの名無しさん
2006/07/23(日) 18:02:320381デフォルトの名無しさん
2006/07/23(日) 18:03:440382デフォルトの名無しさん
2006/07/23(日) 18:06:17Dがどれだけ便利でも仕事に使えなきゃ触らないかも
試しにサーバ作ってみたけど置く場所ないし
0383デフォルトの名無しさん
2006/07/23(日) 18:08:35発想が貧困なだけだろ
0384デフォルトの名無しさん
2006/07/23(日) 18:18:05作りたいものがあるけど今の仕様だとちょっとなぁ
と二の足を踏んでいる
0385デフォルトの名無しさん
2006/07/23(日) 18:19:55まず必要なものが存在しない
他人の需要は俺の需要じゃないからな
0386デフォルトの名無しさん
2006/07/23(日) 18:23:12>必要なものが存在しない
何作りたいのさ?
0388デフォルトの名無しさん
2006/07/23(日) 21:43:14満足している状態から、さらに必要なものを作れる奴って凄いと思う。
0389デフォルトの名無しさん
2006/07/23(日) 21:52:32D言語でWindowsサービスとか作れないかな?
いやWinAPIが使えるんだから当然できるのか
0390デフォルトの名無しさん
2006/07/24(月) 18:31:19作れないかな?と思う前にコードを書くんだ。
0391デフォルトの名無しさん
2006/07/24(月) 19:00:48言いたい事は分かるがそれってちょっとどうよ?
0392デフォルトの名無しさん
2006/07/24(月) 20:48:48糞の役にも立たないお前のやりたいことを書くくらいなら
「サービスの作り方inD」実践の報告を投稿するくらいしろ
という話だと解釈した。
0393デフォルトの名無しさん
2006/07/25(火) 03:36:03やればいいんだろ
0394デフォルトの名無しさん
2006/07/25(火) 18:08:260395デフォルトの名無しさん
2006/07/25(火) 18:50:250396デフォルトの名無しさん
2006/07/25(火) 21:50:510397デフォルトの名無しさん
2006/07/25(火) 22:04:390398デフォルトの名無しさん
2006/07/25(火) 22:25:170399デフォルトの名無しさん
2006/07/25(火) 23:00:520400デフォルトの名無しさん
2006/07/26(水) 08:33:36話はわかるがなあ
2chで役に立つものを期待するのもどうかと思うけどなw
もっと無駄なことしようだぜ
0401デフォルトの名無しさん
2006/07/26(水) 14:04:09>>394-399の流れはまさにそんな感じだな。
0402デフォルトの名無しさん
2006/07/26(水) 17:35:300403デフォルトの名無しさん
2006/07/26(水) 19:00:46デファクトスタンダードになりえて覚えなおさなくて済みそうな、
GUIライブラリだと思う。
0404デフォルトの名無しさん
2006/07/26(水) 23:33:55さっさとLinuxメインになれ
0405デフォルトの名無しさん
2006/07/26(水) 23:44:590406デフォルトの名無しさん
2006/07/26(水) 23:58:210407デフォルトの名無しさん
2006/07/27(木) 00:28:170408デフォルトの名無しさん
2006/07/27(木) 05:56:510409デフォルトの名無しさん
2006/07/27(木) 10:17:520410デフォルトの名無しさん
2006/07/30(日) 11:44:18ファイルを開いたり新規作成したりすらできんD用フォームデザイナに絶望した。
英文化圏オンリー仕様マジダメポ。
0411デフォルトの名無しさん
2006/07/30(日) 12:35:55ところで、signal って扱えないの?
0412デフォルトの名無しさん
2006/07/30(日) 12:41:30そんなもんに頼らんでもプログラム書けるだろ?
0413デフォルトの名無しさん
2006/07/30(日) 15:41:36ツールの存在意義って分かってる?
何のためにツールが生み出されるか分からないからそんなこと書いてんの?
それとも単なる宗教論?
0414デフォルトの名無しさん
2006/07/30(日) 19:27:03書けないらしいw
0415デフォルトの名無しさん
2006/07/30(日) 20:45:12import dfl.all;
int main()
{
Form form = new Form;
form.text = "title";
Application.run(form);
return 0;
}
//ビルドコマンドだよ^^
//build main.d dfl.lib -gui -clean -Ttest
次は
「これくらいの規模だったらツールに頼らなくても良かったし、
生APIでもプログラム書けるだろう。お前には無理だろうがな」
とでも言うのかなー?
0416デフォルトの名無しさん
2006/07/30(日) 20:52:17D弄ってると色んなところで「あー日本語通らねえー」っていう事態に遭遇するよな。
切ない。
0417デフォルトの名無しさん
2006/07/30(日) 22:07:11すぐぶち当たる日本語ファイル名の扱いのせいで何度も絶望してるお orz
それにしてもなんでだろうな
仕事は辛いものだ辛くないといけないんだと思ってる人が未だにいるのは
簡単にこなされたらアイデンティティーを失うと思うのかなぁ
リアルでも楽な方法を覚えることに拒否反応を示す人いるし・・・
困ったもんだ
0418デフォルトの名無しさん
2006/07/30(日) 22:18:42ただGUIライブラリがないけど。
#せめてversion(Windows)をlinux向けにコンパイルしたphobos+wineのライブラリ+DFLが使えるといいんだけど…
0419デフォルトの名無しさん
2006/07/30(日) 22:51:13嘘こけ
euc,utf-8の2つだけでもお腹一杯になれるぞ
0420デフォルトの名無しさん
2006/07/30(日) 23:18:40そういう意味では日本語問題にぶつからないんじゃね?
0421デフォルトの名無しさん
2006/07/31(月) 00:10:11なに勘違いしてんの?w
0422デフォルトの名無しさん
2006/07/31(月) 00:41:26簡単にできることをそんなに誇らしげに話されてもな……
0423デフォルトの名無しさん
2006/07/31(月) 01:07:520424デフォルトの名無しさん
2006/07/31(月) 01:59:23お前みたいなカスを遠ざけるためにUNIX界は鉄の掟を敷いている。
二度と来るなよ、基地外。
0425デフォルトの名無しさん
2006/07/31(月) 02:03:410426デフォルトの名無しさん
2006/07/31(月) 02:51:13俺たちはプログラマであって、アプリを使う人じゃないみたいな。
まあ、そんな事はどうでもよくて、ヌルポは3回までだから細心の注意を払うように。
0427デフォルトの名無しさん
2006/07/31(月) 07:20:04どうみても叩いてる論拠が宗教論です。
本当にありがとうございました。
0428デフォルトの名無しさん
2006/07/31(月) 08:10:00立てられる仮説が一つしかない自身の貧困な想像力を、極めて遠回しに自嘲した表現。
0429デフォルトの名無しさん
2006/07/31(月) 08:14:500430デフォルトの名無しさん
2006/07/31(月) 08:19:46で
次のバージョンアップまだー?
今のが1.0ていう話はどうなった
0431デフォルトの名無しさん
2006/07/31(月) 09:11:04linuxでのeuc-jpなんかはもはや過去互換の存在だし…
まぁ将来的にずっとutf-8とも保証されてないけど。
0432デフォルトの名無しさん
2006/07/31(月) 10:36:48【どうみても〜だ】
【どうみても〜です。本当にありがとうございました。】
という慣用句とは別物だお
0433デフォルトの名無しさん
2006/07/31(月) 10:39:02Apache が UTF-8 デフォルトになっていて
ブラウザで開いたときのエンコード誤検出がやたら増えた
結局デフォルト変えて使ってて
なんだかなぁと思う今日この頃
スレ違いスマソ
0434デフォルトの名無しさん
2006/07/31(月) 11:02:21ピント外れすぎ
0435デフォルトの名無しさん
2006/07/31(月) 12:19:380436デフォルトの名無しさん
2006/07/31(月) 21:47:36言語仕様→字句のトークン一覧にある(本家のほうも)んだけど
そのトークンの意味を解説してる箇所を見つけられなかった。
0437デフォルトの名無しさん
2006/07/31(月) 21:49:11予約。
一時実装されたけどすぐ撤回された。
0438デフォルトの名無しさん
2006/07/31(月) 21:57:19なるほど、トンクス。
0439デフォルトの名無しさん
2006/07/31(月) 22:38:25正規表現比較というとんでもない演算子。
0440デフォルトの名無しさん
2006/08/01(火) 01:35:000441デフォルトの名無しさん
2006/08/01(火) 08:22:070442デフォルトの名無しさん
2006/08/01(火) 20:04:090443デフォルトの名無しさん
2006/08/01(火) 21:17:42でも、リファレンスから削除されてないのはエラッタっぽいけどな。
0444デフォルトの名無しさん
2006/08/04(金) 08:31:02↓こんな感じ?
0001 : int main()
0002 : {
0003 : int #line 6
0006 : x;
0005 : return 0;
0006 : }
Filespecが指定された時の表現方法なんて見当もつかないし、#lineは無視して
普通に4行目としちゃっていいのかな?
0445デフォルトの名無しさん
2006/08/04(金) 09:40:590446デフォルトの名無しさん
2006/08/04(金) 09:50:35D言語のマクロとか他の処理系からDへのコンバータとかの出力を処理するときに
コンパイラのエラーメッセージが原始言語の行と一致させるための機構だから
エディタが気にしてもしょうがないよ。
0447デフォルトの名無しさん
2006/08/04(金) 10:16:130448デフォルトの名無しさん
2006/08/04(金) 10:56:200449デフォルトの名無しさん
2006/08/04(金) 12:39:300450デフォルトの名無しさん
2006/08/06(日) 15:33:100451デフォルトの名無しさん
2006/08/06(日) 17:50:41Visiual D 2005 Express Editionか!
最後はやっぱりMSかぁ。
0452デフォルトの名無しさん
2006/08/06(日) 19:02:450453デフォルトの名無しさん
2006/08/06(日) 19:04:230454デフォルトの名無しさん
2006/08/06(日) 19:59:42「いいえ」じゃね?<正しい回答
0455デフォルトの名無しさん
2006/08/06(日) 20:07:080456デフォルトの名無しさん
2006/08/07(月) 01:48:03String str;
EvenNumber num;
str.text = "text"; //str = "text" と記述したい
num.value = 10; //num = 10 と記述したい
↑のように基本型の模倣が中途半端になる。
まあ「〜と記述したい」なんてただのエゴだし、そんぐらいしか文句はないけど。
0457デフォルトの名無しさん
2006/08/07(月) 02:28:58クラスと構造体が同じように抜えないことに不満を感じている人はあまりいないのかな?
newしなきゃいけないのとしてはいけないのと。
実は問題にならなかったりするとか…
0458デフォルトの名無しさん
2006/08/07(月) 06:36:090459デフォルトの名無しさん
2006/08/07(月) 10:04:40?
構造体が派生できない以外はあまり問題ないんじゃね?
0460デフォルトの名無しさん
2006/08/07(月) 20:33:37構造体でもnewできるでしょ。
0461デフォルトの名無しさん
2006/08/07(月) 21:10:51でもすまん、考え直したら、何とでも代替手段があるよね
class X(T)
{
T foo;
this()
{
foo = new T;
}
}
void main()
{
new X!(C);
new X!(S); // error
}
0462デフォルトの名無しさん
2006/08/08(火) 00:44:110463デフォルトの名無しさん
2006/08/08(火) 06:32:29さらにつけたい機能を節操なしに貪欲に付け加えた言語、それがD言語
0464デフォルトの名無しさん
2006/08/08(火) 07:52:20害はほとんどない上、使う/使わないは任意で選べる。
漏れとしてはC++から(漏れにとって)いる機能まで排除したのが問題。
全ての規則に例外があるということをよくわかっている、とか言ってgotoまで実装してるくせに
なんで代入演算子のオーバーロードが外されてるんだ。
0465デフォルトの名無しさん
2006/08/08(火) 08:06:060466デフォルトの名無しさん
2006/08/08(火) 08:10:31よだれが出てきそうです
0467デフォルトの名無しさん
2006/08/08(火) 11:49:080468デフォルトの名無しさん
2006/08/08(火) 12:06:01かもしれないと思うときもあるんだよな
0469デフォルトの名無しさん
2006/08/08(火) 13:00:54メモリ管理上、代入演算子をオーバーロードしなければならない必要性がないから、らしい。
0470デフォルトの名無しさん
2006/08/08(火) 14:41:54しかしDは、全ての規則に例外がある、 ということをよくわかっている現実のプログラマのための現実的な言語です。
もちろんDはgotoに対応しています!
0471デフォルトの名無しさん
2006/08/08(火) 16:39:450472デフォルトの名無しさん
2006/08/08(火) 18:15:32//例
String str;
str = "text";
//str.String = "text"; と等価
('A`)ネタダケドナ
0473デフォルトの名無しさん
2006/08/08(火) 19:23:02何が言いたいの?
0474デフォルトの名無しさん
2006/08/08(火) 19:53:28>>470はDにgotoが含まれている理由(の日本語訳)。
gotoがそういう理由で言語仕様に含まれてるんだったら
同じ論理を以ってopAssignが含まれてていいじゃん、とgotoを妬んでる様子。
0475デフォルトの名無しさん
2006/08/08(火) 22:49:23str[] = "text";
みたいに
0476デフォルトの名無しさん
2006/08/08(火) 23:55:31まあこれ以上食い下がっても言語仕様が変わる訳ではないし、
最強のopAssignに代わる合理的な妥協案を探していったほうがよっぽど建設的だな。
str << "text";
0477デフォルトの名無しさん
2006/08/09(水) 00:15:500478デフォルトの名無しさん
2006/08/09(水) 07:35:23エゴ。
0479デフォルトの名無しさん
2006/08/09(水) 08:15:57具体的にどんな用途でopAssignを使おうと思ってるのか、さぁどうぞ。
0480デフォルトの名無しさん
2006/08/09(水) 08:32:29だから>>456で完結してね?
>>456のコメント文の用途で使おうと思ってんじゃ(*´・ω・)(・ω・`*)ネーの?
その用途で使用することをを>>456の言葉を借りてエゴと形容したが。
0481デフォルトの名無しさん
2006/08/09(水) 08:38:00読めよ。
0482デフォルトの名無しさん
2006/08/09(水) 11:00:42読むわけないだろ。
0483デフォルトの名無しさん
2006/08/09(水) 23:49:04仮にopAssignが定義出来たとしてさぁ
class Foo{
Foo opAssign(Foo f);
}
Foo f;
f = new Foo();
は一体どうなるのか考えてみようよ。
C++でもポインタに代入演算子は定義できないのと一緒で、もし定義できたら破綻してしまうだろ。
0484デフォルトの名無しさん
2006/08/10(木) 00:04:39その場合だけエラーだせばおkじゃね?
0485デフォルトの名無しさん
2006/08/10(木) 00:38:37> C++でもポインタに代入演算子は定義できないのと一緒で、もし定義できたら破綻してしまうだろ。
Dのクラスの参照はポインタじゃないから、別に破綻しないだろ。
基本型の模倣するって言ってるのに、構造体じゃなくて
クラスを使ってnewさせるのはどんな理由があるんだろう。
0486デフォルトの名無しさん
2006/08/10(木) 07:36:28それやると未割り当てのfのopAssignが呼ばれてエラーが出るだろうね。
でも何がどう破綻するのか判らん。
具体的にどんな意図で自身のクラスオブジェクトの参照を引数にしたopAssignを定義し
どんな用途で>>483みたいな使い方しようと思ってるのかも判らんし。
※
class Bar : Foo {}
Foo f = new Bar;
で割り当てはできそうかなーと思ったけど言語仕様上opAssign(Foo f)にマッチしちゃうな。
この手のは>>484の案でおkじゃね?
0487デフォルトの名無しさん
2006/08/10(木) 07:38:310488デフォルトの名無しさん
2006/08/10(木) 07:56:570489デフォルトの名無しさん
2006/08/10(木) 08:16:310490デフォルトの名無しさん
2006/08/10(木) 08:21:440491デフォルトの名無しさん
2006/08/10(木) 08:27:57水掛け論の論は持論でも暴論でも宗教論でもよくね?
なんで議論だと思ってんの?
0492デフォルトの名無しさん
2006/08/10(木) 08:56:47もし不愉快になってたらごめんな。そんじゃ、会社いってくらー
0493デフォルトの名無しさん
2006/08/10(木) 13:30:31明示的に書けるわなぁ。
0494デフォルトの名無しさん
2006/08/10(木) 13:53:07Foo opCast(char[] a){
Foo f=new Foo;
f.text=a;
return f;
}
Foo f=cast(Foo)"test";
ってことか。
>there can be only one opCast per struct or class
だからコンパイルは通らないし、キャストのオーバーロードがFoo opCast(char[] a)では無くvoid opCast(char[] a, out Foo f)と書けないと複数宣言ができないけど。
0495デフォルトの名無しさん
2006/08/10(木) 18:55:26Foo f=cast(Foo)"test";
って実現できないんじゃね?
Foo opCast() { /* 文字列を格納したFoo型オブジェクトの参照を返す */ }
を文字列リテラルのほうに実装できるんなら話は別だが。
0496デフォルトの名無しさん
2006/08/10(木) 22:44:220497デフォルトの名無しさん
2006/08/10(木) 23:10:340498デフォルトの名無しさん
2006/08/11(金) 11:06:570499デフォルトの名無しさん
2006/08/11(金) 14:32:03これじゃなくて?
0500497
2006/08/12(土) 01:38:43サイトの更新されてるの知らなかったorz
後は自動補完に使える参照リストですね。
0501デフォルトの名無しさん
2006/08/12(土) 07:35:450502デフォルトの名無しさん
2006/08/12(土) 08:40:34D 1.001 じゃなかったのか・・・。
0503デフォルトの名無しさん
2006/08/12(土) 08:42:46追加機能はddocだけだからいいじゃない
0504デフォルトの名無しさん
2006/08/12(土) 22:02:510505デフォルトの名無しさん
2006/08/12(土) 22:13:20Cと比べてC++が遅くなるのと同程度にDもC++と比べて遅くなる。
0506デフォルトの名無しさん
2006/08/12(土) 22:17:350507デフォルトの名無しさん
2006/08/12(土) 23:19:10仕様かためとバグ潰しに奔走している言語に何を期待してるの?
0508デフォルトの名無しさん
2006/08/13(日) 02:22:23http://shootout.alioth.debian.org/debian/benchmark.php?test=all&lang=dlang&lang2=gpp
0509デフォルトの名無しさん
2006/08/13(日) 03:10:39C++(dmc+stlport5.1)でstd::vector使って同じ処理させたときと比較して5倍くらい速くなりました。
メモリの管理はGCに任せろ!って言葉信じてたせいでD駄目じゃんって思いかけてましたよ・・・
ところでDで作ったアプリケーションが2バイト文字を引数として取ってくれる時と
くれない時があるのでおかしいなと思ってたんですが、理由をご存知の方いません?
module argtest;
import std.c.stdio;
int main(char[][] args) {
foreach( index, argv; args ) {
printf("args[%d] = %.*s\n",index,argv);
}
return 0;
}
結果:
>argtest あ a aあ あ
args[0] = (実行ファイルのパス)
args[1] = a
args[2] = aあ
args[3] = あ
//なぜか1番目の引数がなかったことにされている。
//3番4番は全角文字交じり/全角文字のみなのに正常に認識されているので
//全角文字を認識できていないわけではなさそう。
dmcでも全角文字が混じってると認識しなかったりするんですよね。
0510デフォルトの名無しさん
2006/08/13(日) 03:31:080511デフォルトの名無しさん
2006/08/13(日) 08:50:16配列の要素をコピーして使い終わったら捨てて、って使い方してない?
以前配列処理でそんな使い方してたら極端に速度が落ちたけど
スライス使って参照で処理するような実装に変えたら問題解決した。
0512511
2006/08/13(日) 09:09:31ループ処理とかで巨大な配列の一部をコピーして動的配列に代入、使い終わったらその動的配列の内容を捨てる。
↑
これがめちゃくちゃ速度落ちた。
ループ処理とかで巨大な配列の一部の参照をスライス使って動的配列に代入、使い終わったらその動的配列の内容を捨てる。
↑
問題解決した。
こう言いたかった。
0513デフォルトの名無しさん
2006/08/13(日) 09:25:23どのくらい過去でしょうか。Part8から興味を持っての参加でしたが、
「英語圏しか想定していないものは駄目だ」みたいな話を見かけた印象しかなくて。
日々仕様が変わるようなのであまり古い情報参照してもしょうがないかもと思って
Part7以前のスレは追いかけてません。申し訳ない。
コマンドラインシェル自体がUTF-8に対応してないから出来なくて当然なのかなとは思ってましたけど、
dmcで-Bj -j0つけても同じ結果になったので、そもそもDigitalMars製品自体、全角文字コードの使用が想定外と考えて
引数に全角文字を与えないようにして問題を回避しています。
>>511
8MBのファイルから要素を読み込んで配列に格納して色々と処理をし、終わったらdeleteせずに次のファイルを・・・
という感じでどんどんメモリを消費する形にしていたんですが、2ファイル目以降の処理が
同じことさせてる割にはやけに遅くなっていたもので変だなあと。
ログ読んでたら「巨大なメモリを確保したら明示的にdeleteすべき」と書かれていたので試したら、
やけに動作が軽くなったので驚きました。
0514デフォルトの名無しさん
2006/08/13(日) 10:19:11linux(utf-8)+dmd/gdmdだと問題なし。
もしecu-jpのlinuxでも起きないとしたらdmcのバグかもね。
コマンドプロンプトをchcp 65001にするとかnkfとか通してutf-8に変換するとかしてみたらもしかしたら大丈夫かもしれない。
0515デフォルトの名無しさん
2006/08/13(日) 10:24:39Part8の>>50-100辺りを眺めるとこの話題が出てくる。
これなんかオススメ
↓
argtest "あ" "a" "aあ" "あ"
0516デフォルトの名無しさん
2006/08/13(日) 10:36:01extern(C)extern{
int _argc;
wchar**_wargv;
char *setlocale(int category, char *locale);
}
extern(C)int main(int argc,char**argv);
extern(C)int wmain(int argc,wchar**argv){return main(0,null);}
void main(){
setlocale(0,"");
foreach(ws;_wargv[0.._argc])
printf("%S\n",ws);
}
こんぱいらおぷしょんに -L/EXET:NT/ENTRY:wmainCRTStartup を指定すること
0517509=513
2006/08/13(日) 11:08:26あああすいません、なんか当然のようにwindows環境前提で書いてました。
chcp 65001は試したことあるんですが、それだと今度はprintfの出力すら表示されなくなったので
打つ手なしかなあとあきらめておりました。
>>515
思いっきり既出だったんですね。流し読みしてて見落としてましたorz ゴメンナサイ
引数をダブルクォートで囲むと空白文字だけが無視されると思っていましたが、
実際は囲った文字列が未加工で渡されるということでしょうか。
ひとつ賢くなれました。ありがとうございます。
>>516
こういう方法もあるんですね。今自分の使用している環境以外はあまり考えたことがなかったもので、
ロケールの話が出てくると途端にやり方がわからなくなってしまいますorz
解決のためのいろいろなアプローチがあることがわかってかなりの収穫になりました。ありがとうございました。
0518デフォルトの名無しさん
2006/08/14(月) 00:53:57一応phobos.libとかってあるけど、それとは同種のやつなのかわかんなくって。
BCCでも使えるライブラリで便利なのっていっぱいあるから使えたら素敵。
0519デフォルトの名無しさん
2006/08/14(月) 12:06:16Dが使えるIDE
0520デフォルトの名無しさん
2006/08/14(月) 12:14:570521デフォルトの名無しさん
2006/08/14(月) 12:23:18コンパイラの設定が分からなくてD applicationのプロジェクトが作成できない…
0522デフォルトの名無しさん
2006/08/14(月) 12:26:010523デフォルトの名無しさん
2006/08/14(月) 12:33:27http://www.codeblocks.org/features.shtml
0524521
2006/08/14(月) 12:34:54[ Patch #956 ] Turned on DMD and GDC support under Linux
https://developer.berlios.de/patch/?func=detailpatch&patch_id=956&group_id=5358
0525デフォルトの名無しさん
2006/08/14(月) 12:55:140526デフォルトの名無しさん
2006/08/14(月) 13:13:36うぜぇー
0527デフォルトの名無しさん
2006/08/14(月) 13:36:15使えることは使えるけど細部で異なるから、(BCC付属のやつを)そのまま使うのは実質無理だと思ったほうがいいかも?
あれが未定義これが未定義ってエラーばかりでリンク成功したことがあんまりないす。
dm製品が吐いたobjをTLIBでまとめたファイルなら問題なくつかえます。
0528デフォルトの名無しさん
2006/08/14(月) 15:05:24VCのせいでIDEに幻想を持っている奴が多いからなしかたない
0529デフォルトの名無しさん
2006/08/14(月) 15:08:06良いか悪いかは別としてな
0530デフォルトの名無しさん
2006/08/14(月) 18:06:480531デフォルトの名無しさん
2006/08/14(月) 18:30:53「最強のIDEの一つ」くらいにしとけ
0532デフォルトの名無しさん
2006/08/14(月) 20:07:33VSは最強のIDEに一票
# 「最も〜の一つ」という日本語は逃げてるから嫌い(^^;
0533デフォルトの名無しさん
2006/08/14(月) 20:40:56アタマ ダイジョウブ?
0534デフォルトの名無しさん
2006/08/14(月) 21:05:16「に、一票」の部分に「飽くまで俺一人の意見だけどさ」という逃げを感じる。
0535デフォルトの名無しさん
2006/08/14(月) 22:13:190536デフォルトの名無しさん
2006/08/14(月) 22:44:27発揮されても困るが
0537デフォルトの名無しさん
2006/08/14(月) 22:58:58楽に判定できる方法ってDで用意されてる?
今のところメンバ総当りしか方法ないっぽい?
enum Hoge
{
Ioge = 1,
Joge = 7,
Koge = 100,
//...
Zoge = 4649,
}
bool isHogeMemberValue(Hoge hogeValue)
{
bool result;
switch (hogeValue){
//総当り比較?
default:
result = false;
break;
}
return result;
}
0538デフォルトの名無しさん
2006/08/14(月) 23:27:56Mapに処理関数オブジェクトつっこんで呼び出すとかの方がいいんじゃないの?
0539デフォルトの名無しさん
2006/08/14(月) 23:57:35トンクス。
確かにそれだと後々判定も一発で出来るしそっちの方がいいかもね。
(配列リテラル実装されてコンパイル時に登録できれば尚更)
0540デフォルトの名無しさん
2006/08/15(火) 16:45:02stdoutキーワードがわからないって何よ
小1時間調べ回ってstdin/out/err非推奨→廃止されてたって書いてあったから
とりあえずimport std.stdio;とprintfで逃げたよ
いくらなんでも廃止までするこたーないだろっての
ところでWinXPなんだけどコンパイルしたexeが非ASCII文字化けさせない設定ある?>ALL
0541デフォルトの名無しさん
2006/08/15(火) 16:59:42上段については、import std.cstream;してdin/dout/derr使っとけ
0542デフォルトの名無しさん
2006/08/15(火) 17:03:09それは困ったもんだなあ
0543デフォルトの名無しさん
2006/08/15(火) 17:14:23toMBSzでSJISに変換してからコンソールに出力。
0544デフォルトの名無しさん
2006/08/15(火) 17:19:09writef使っとけ
0545デフォルトの名無しさん
2006/08/15(火) 17:58:13D Memoが新しくなれば一番良いんだろうけども。
他人に配るんなら使えないが自分でテストする分にはコンソールでchcp 65001か実行結果取り込んでくれるエディタも吉。
0546デフォルトの名無しさん
2006/08/15(火) 20:16:48�d。dmcからD対応のlibとか作ってみる。
0547デフォルトの名無しさん
2006/08/17(木) 12:05:54ガンガレ
0548デフォルトの名無しさん
2006/08/17(木) 12:19:49* 0.164 対応作業中
o 作業場所... なかなか進まん
0549デフォルトの名無しさん
2006/08/17(木) 20:58:36彼女はおれがアニヲタって言っても全然気にしないって言ってくれた。
なんかすごく優しくて可愛くていい子だった。
絵を売る仕事をしているらしく、男気を見せるために思い切ってラッセンの絵を買った。
今飾ってるけどマジでかっこいい。
47万円の価値は十分にあると思う。
0550デフォルトの名無しさん
2006/08/17(木) 21:12:360551デフォルトの名無しさん
2006/08/18(金) 23:24:040552デフォルトの名無しさん
2006/08/18(金) 23:26:080553デフォルトの名無しさん
2006/08/19(土) 00:19:06藻前頭悪いだろ
藻前頭悪いだろ
0554デフォルトの名無しさん
2006/08/20(日) 19:44:20それともDの機能によるもの?
0555デフォルトの名無しさん
2006/08/20(日) 21:28:58実行ファイルにGCやらD標準ライブラリやら例外時の文字列やらくっ付いててでかいんだと思う。
crtdll.dllみたく共通部分を別ライブラリに分ければ実行ファイルは小さくできるけど
漏れは単体実行派だから実行ファイルのサイズには目を瞑ってる。
Dのプログラムを実行するにはDランタイムライブラリが必要です、なんてまっぴらゴメンだ、
0556デフォルトの名無しさん
2006/08/20(日) 22:01:53DWTも放置されているしな。
Dのライブラリは放置されまくりんぐで、開発者にも逃げられる始末。
0557デフォルトの名無しさん
2006/08/20(日) 23:01:460558デフォルトの名無しさん
2006/08/20(日) 23:16:000559デフォルトの名無しさん
2006/08/20(日) 23:23:05http://d.hatena.ne.jp/shinichiro_h/20040803
0560デフォルトの名無しさん
2006/08/21(月) 12:46:500561デフォルトの名無しさん
2006/08/21(月) 12:52:42Aug 20, 2006
New/Changed Features
* Added implicit conversion of expressions to delegates.
0562デフォルトの名無しさん
2006/08/21(月) 12:56:250563デフォルトの名無しさん
2006/08/21(月) 13:04:040564デフォルトの名無しさん
2006/08/21(月) 13:24:39void delegate() func(){return (ry;}
void test(void delegate() delegate() a){a()();}
test(func());
でもうまくいく?
0565564
2006/08/21(月) 13:47:18#にしてもこんなキャスト使うのかねぇ…?
#char[] delegate() tmp=cast(char[] delegate())"test";
#writefln(tmp());
0566デフォルトの名無しさん
2006/08/21(月) 15:42:490567デフォルトの名無しさん
2006/08/21(月) 15:43:330568デフォルトの名無しさん
2006/08/21(月) 18:59:13ttp://www.digitalmars.com/d/lazy-evaluation.html
bool scase(bool b, void delegate() dg)
{
if (b)
{ dg();
return true;
}
return false;
}
void cond(bool delegate()[] cases ...)
{
foreach (c; cases)
{ if (c())
break;
}
}
void foo()
{
int v = 2;
cond
(
scase(v == 1, writefln("it is 1")),
scase(v == 2, writefln("it is 2")),
scase(v == 3, writefln("it is 3")),
scase(true, writefln("it is the default"))
);
}
0569デフォルトの名無しさん
2006/08/21(月) 18:59:42import std.string;
alias int delegate() LazyInt;
int tarai(LazyInt x, LazyInt y, LazyInt z){
if(x() <= y()){
return y();
}else{
return tarai(tarai(x()-1,y,z),
tarai(y()-1,z,x),
tarai(z()-1,x,y));
}
}
void main(char[][] args){
printf("%ld\n", tarai(500,250,0));
}
0570デフォルトの名無しさん
2006/08/21(月) 19:32:130571デフォルトの名無しさん
2006/08/21(月) 19:34:07I was going to call this 1.0 RC1, but I just could not resist adding the
lazy expression evaluation. This adds one of the big capabilities of
common lisp.
とか言ってるよ。
0572デフォルトの名無しさん
2006/08/21(月) 19:37:33しかし0.165の変更はいらんなあ
余計にややこしいような・・
同じことを色々と書けるってのはあまり好きじゃない
0573デフォルトの名無しさん
2006/08/21(月) 19:43:13TMTOWTDI
0574デフォルトの名無しさん
2006/08/21(月) 19:51:310575デフォルトの名無しさん
2006/08/21(月) 19:55:18関数を書いた場所が delegate で受け取られる場所かどうか
知っていないといつ実行されるのかわからなくなるなあ
人の書いたコードを読むときにちょっと混乱しそう
遅延評価は面白いんだけどなあ
0576デフォルトの名無しさん
2006/08/21(月) 19:56:34ということらしいけど。
0577デフォルトの名無しさん
2006/08/21(月) 20:01:380578デフォルトの名無しさん
2006/08/21(月) 22:07:39void main(char[][] args){
if(args.length == 4){
printf("%d\n",
tarai(atoi(args[1]),
atoi(args[2]),
atoi(args[3]))
);
}
}
とやって引数渡して実行したらArrayBoundsErrorだったんだけど、
なにが原因なんだろう。
0579デフォルトの名無しさん
2006/08/21(月) 22:20:260580デフォルトの名無しさん
2006/08/21(月) 22:36:350581デフォルトの名無しさん
2006/08/21(月) 22:39:050582デフォルトの名無しさん
2006/08/21(月) 22:49:29void delegate()[]dgs;
static do_ opIndex(void delegate()[]dgs...){
do_ x;x.dgs = dgs;return x;
}
void while_(bool delegate()pred){
do foreach(x;dgs)x();while(pred())
}
}
void main(char[][]args){
int x = args.length;
do_[
printf("Hello "),
printf("World!"),
printf("\n")
].while_(x-- != 0);
}
やべぇ、書いてみたけど何の役にも立たねぇw
0583デフォルトの名無しさん
2006/08/21(月) 22:52:260584デフォルトの名無しさん
2006/08/21(月) 23:06:55これもそうだしout/inout引数もそうなんだよなあ。
>○○で受け取られる場所かどうか知っていないと混乱しそう
なんとかならんかな。
0585デフォルトの名無しさん
2006/08/21(月) 23:21:20std.stringのatoiは long atoi(char[])だから大丈夫。
念のため toStringz(args[1]) とやってみたけど型不一致。
cast(int)atoi もためしたが無意味。
int x = atoi(args[1]);
int y = atoi(args[2]);
int z = atoi(args[3]);
printf("%d\n", tarai(x,y,z));
なら動くので、atoiの扱いには問題ないと思うんだよ。
>>584
importするんだから、知ることができないって状況はないから
問題ないんじゃないかな。
単に、引数の型を知ってるか否かという話でしょ。
0586デフォルトの名無しさん
2006/08/21(月) 23:30:332,3バージョン程度、上がると安定してくるからそれまでは我慢我慢
0587デフォルトの名無しさん
2006/08/21(月) 23:39:44int delegate() f(int delegate() z){
return z();
}
void main(char[][] args){
f(0)();
}
0588587
2006/08/21(月) 23:41:53スマン、忘れてくれ。
0589デフォルトの名無しさん
2006/08/22(火) 01:01:19変数受けしたら動くってのは、バグっぽいね。
tarai({return x;}, {return y;}, {return z;});
はおkで、
tarai({return atoi(args[1]);}, {return atoi(args[2]);}, {return atoi(args[3]);});
がダメってことみたいだから。
0590デフォルトの名無しさん
2006/08/22(火) 01:03:28知ることが出来ないわけじゃないんだけどさ
import std.cstream;
void foo(void delegate() f)
{
f();
dout.writefln("foo");
}
void bar()
{
dout.writefln("bar");
}
void main()
{
foo( { bar(); } ); // これは delegate に見える
foo( bar() ); // そうは見えない
}
出力はどちらも普通とは逆順で
bar
foo
# ところで foo( bar() ); の行でエラーが出るんですけどバグですか?それならいいんですけど
0591デフォルトの名無しさん
2006/08/22(火) 01:06:18そうじゃないと逆順にならないし
void foo(void delegate() f)
{
dout.writefln("foo");
f();
}
0592デフォルトの名無しさん
2006/08/22(火) 01:40:17間違っているような気がしてきましたが・・・
言いたいことは評価される順番が普通通りに行かないことがあるなあと
0593デフォルトの名無しさん
2006/08/22(火) 01:50:090594デフォルトの名無しさん
2006/08/22(火) 02:27:07一応、式ならなんでもdelegateにしてくれるはずだから
バグでいいんじゃないかと。
0595デフォルトの名無しさん
2006/08/22(火) 11:39:070596デフォルトの名無しさん
2006/08/22(火) 14:20:19たらいまわしみたいに、遅延評価を自然に記述したいとき?
って、いまいち頻繁にあるのかわからない。
ifとかみたいな制御構造を作れるってこと?
0597デフォルトの名無しさん
2006/08/22(火) 15:21:21違う
>ifとかみたいな制御構造を作れるってこと?
そう
0598デフォルトの名無しさん
2006/08/22(火) 18:04:10class Hoge
{
public:
void hoge(){}
}
void main(char[][] args)
{
Hoge hoge;
hoge.hoge();
}
このコードをビルド(オプションなし)するとAccess Violationと出て実行時エラーになるのですが、原因の検討がつきません。
おそらく初心者ミスだと思うのですが、原因をご教示ください。
0599デフォルトの名無しさん
2006/08/22(火) 18:05:34Hoge hoge=new Hoge;
0600デフォルトの名無しさん
2006/08/22(火) 18:37:45ありがとうございました。
旧来のCというかRAIIを実現するには、
auto Hoge hoge = new Hoge;
でいいんでしょうか。
0601デフォルトの名無しさん
2006/08/22(火) 19:15:37class Hoge{}
void main(char[][] args){Hoge hoge = new Hoge;}
// ok
module foo.bar
class Hoge{}
import foo.bar
void main(char[][] args){Hoge hoge = new Hoge;}
// hoge.exeはwin32有効なアプリケーションではありません
コマンドラインでもいいのに……
0602デフォルトの名無しさん
2006/08/22(火) 20:04:070603デフォルトの名無しさん
2006/08/22(火) 22:46:22実装コードを含むには>>602。
0604デフォルトの名無しさん
2006/08/22(火) 22:50:010605デフォルトの名無しさん
2006/08/23(水) 07:47:420606デフォルトの名無しさん
2006/08/23(水) 08:40:21あれ、本家の奴も動かないのかな?
0607デフォルトの名無しさん
2006/08/23(水) 10:48:53でもwin32.windowsを自分で適用しようとしてもスクリプトが動かない理由がまだわからないや
0608デフォルトの名無しさん
2006/08/23(水) 11:09:160609デフォルトの名無しさん
2006/08/23(水) 11:12:33import std.cstream;
void dotimes(int n, void delegate() exp)
{
for (int i = 0; i < n; ++i)
{
exp();
}
}
void main()
{
dotimes( 10, dout.writefln("Hoge"));
}
0610デフォルトの名無しさん
2006/08/23(水) 11:28:43[char[]]Hoge
[char[]]Hoge
[char[]]Hoge
[char[]]Hoge
[char[]]Hoge
[char[]]Hoge
[char[]]Hoge
[char[]]Hoge
[char[]]Hoge
[char[]]Hoge
0611デフォルトの名無しさん
2006/08/23(水) 11:36:09ありがとうございました。
foo.barにobjがありませんでした……
今度はリンカでエラーが出たので自力でやってみます。
0612デフォルトの名無しさん
2006/08/23(水) 12:35:14ホントに最新版まで追いついてるし
更新お疲れ様でした
0613デフォルトの名無しさん
2006/08/23(水) 18:52:55delegateを関数の外に持ち出せないのでは
いまいち迫力に欠ける
0614デフォルトの名無しさん
2006/08/23(水) 20:22:05同感。多少効率が悪くなってもいいから環境も束縛してほしい。
0615デフォルトの名無しさん
2006/08/23(水) 20:58:52明らかに「多少」で済むわけが無い
0616デフォルトの名無しさん
2006/08/23(水) 21:12:35int delegate()inc(int n){
struct inc{int n;int get(){
return n++;
}}
auto p=new inc;p.n=n;return &p.get;
}
こう書けるようになるのだから、
その程度の速度の低下は許容してもいいじゃまいか。
int delegate()inc(int n){
return n++;
}
0617デフォルトの名無しさん
2006/08/23(水) 21:32:160618デフォルトの名無しさん
2006/08/23(水) 21:41:04その程度ってどの程度だ馬鹿。
0620デフォルトの名無しさん
2006/08/23(水) 21:49:330621デフォルトの名無しさん
2006/08/23(水) 21:51:28お前アホだろ
0622デフォルトの名無しさん
2006/08/23(水) 21:56:53ま、それは否定しないよ。実際、俺は頭は良いほうじゃないしな。
俺としては俺がアホかよりもdelegateを関数外に持ち出せるかのほうが遥かに重要だけどな。
もう、関数の引数を逃がすためだけに構造体を使うのに疲れたんだよ。
0623デフォルトの名無しさん
2006/08/23(水) 22:04:31すいませんが挙動を説明してもらえませんか
ともっとアホな俺が登場
0624623
2006/08/23(水) 22:08:030625デフォルトの名無しさん
2006/08/23(水) 22:24:20return (T a){return a<b;};
}
T *find_if(T,Pred)(T[]a,Pred p){
foreach(inout v;a)if(p(v))return &v;
return null;
}
void main(){
const int[]s=[2,3,5,6,3,2,1];
printf("%d",*find_if("Hello World"[],less(2)));
}
>>624
引数の一部を束縛したいときとか内部的に状態を持ちたいことって結構多いよ。
0626デフォルトの名無しさん
2006/08/23(水) 22:26:130627デフォルトの名無しさん
2006/08/23(水) 22:36:11Result delegate(A1)
bind2nd(Result,A1,A2,R2)(Result delegate(A1,A2)dg,R2 a2)
{
return (A1 a1){return dg(a1,a2);};
}
0628デフォルトの名無しさん
2006/08/23(水) 23:05:18ちょっと時間かけないと理解できないなんてショックww
えーっと less は C++ での関数オブジェクトの代わりに delegate を返す関数で・・・
あとさらにここで第2引数を束縛してて・・・
find_if は 引数1つの delegate を受け取って配列の要素に delegate を適用する関数で・・・
なんかわかってきたけど
引数を inout で受け取る関数や delegate じゃ代用できないの?
ほんとよくわかってなくて申し訳ないのだけど
0629デフォルトの名無しさん
2006/08/23(水) 23:13:40別に無理じゃないとは思うけど、綺麗に書けるかは別問題。
他にもD言語の遅延評価にキャッシュを付ける関数とかも簡単にかけたり。
T delegate()lazy(T)(T delegate()dg){
T val;
return {
if(dg)val = dg(),dg = dg.init;
return val;
};
}
0630デフォルトの名無しさん
2006/08/23(水) 23:16:58できないよりできたほうが、なんかカックイイって感じますけど。
0631デフォルトの名無しさん
2006/08/23(水) 23:18:29関数型言語やったこと無ければSchemeあたりをかじってみるのをおすすめする。
0632デフォルトの名無しさん
2006/08/23(水) 23:23:05ありが�d
上のコードはちょっと勉強してみまつ
0633デフォルトの名無しさん
2006/08/24(木) 14:15:210634デフォルトの名無しさん
2006/08/24(木) 15:54:12思い出せない
0635デフォルトの名無しさん
2006/08/24(木) 15:56:23ttp://d.hatena.ne.jp/shinichiro_h/20060824#1156387232
らしい
0636デフォルトの名無しさん
2006/08/24(木) 18:38:34おもしろいけどw
0637デフォルトの名無しさん
2006/08/24(木) 22:12:300638デフォルトの名無しさん
2006/08/24(木) 22:25:140639デフォルトの名無しさん
2006/08/25(金) 00:11:01画期的だけど、ちょっと無理すると落ちるな。
構造体を使った奴の方が、めんどくさいけど安定して使える感じがする。
0640デフォルトの名無しさん
2006/08/25(金) 01:10:19delegate はスタックフレームへのポインタと関数ポインタからなっていて、
*dg がスタックフレームへのポインタであることは分かったんだが、
sp が何を指しているのかよく分からん…。
0641デフォルトの名無しさん
2006/08/25(金) 01:31:37そりゃまあ。一方はillegalで構造体使うのは完璧に正しいコードなんだし。
でも"無理して落ちる"って例ってどんなのがある?
ちょっと考えた範囲では思いつかなかった…。
>>640
closure関数のスタックフレーム(変数xを含む) <= sp == &x
----
delegateリテラルのある関数のスタックフレーム
---- <= *dg
delegateリテラルのある関数の引数とかreturn addressとか
というスタック構造ぽいので、とりあえず大雑把に sp から *dg+α まで
切り出しとけば足りるだろ的な考え。
0642デフォルトの名無しさん
2006/08/25(金) 02:24:46型名だけなら .mangleof。関数名とかごとやりたいと思ったら自力かな。
0643639
2006/08/25(金) 03:11:27遅延リストを作って遊んでいて、その生成関数が
LazyList creat(int n, int delegate(int) dg){
return new LazyList(n, closure({
return creat(dg(n), dg);
}));
}
というふうになるんだけど、これをリリースビルドして実行すると落ちる。
デバッグビルドだと大丈夫。
詳しく調べてないんであれだけど、createが再帰的になっているのがいけないのかなと思う。
調子に乗ってHaskellの
fib = 0 : 1 : zipWith (+) fib (tail fib)
を移植して
LazyList fib(){
return LazyList(0, closure({
return LazyList(1, closure({
return zipWith(fib2(), fib2().next(), (int n, int m){return n + m;});
}));
}));
}
とかすると、デバッグビルドでも無理。
でも構造体を使ってクロージャを作ると、fibもうまくいく。
0644639
2006/08/25(金) 03:33:26return LazyList(0, closure({
return LazyList(1, closure({
return zipWith((int n, int m){return n + m;}, fib(), fib().next());
}));
}));
}
だった。訂正します。
0645641
2006/08/25(金) 03:51:36てきとーに
class LazyList {
int head; LazyList delegate() next;
this(int n, LazyList delegate() d) { head = n; next = d; }
}
LazyList zipWith(int delegate(int,int) f, LazyList a, LazyList b) {
return new LazyList( f(a.head, b.head),
closure({return zipWith(f, a.next(), b.next());}) );
}
で実験してみたら、fib()の方はclosureのデリゲート書き換えの行を
if(*dg) *dg = (ry
にしたら通った。環境を持ってく必要がない場合はdg[0]にぬるぽが入るっぽい。
creat()のは再現できなかった。もーちょい調べてみるわ。
0647デフォルトの名無しさん
2006/08/25(金) 12:55:23void Foo(wchar[] str){}
void Foo(dchar[] str){}
void main()
{
//postfixを使わないと曖昧エラー
Foo("text");
}
だったのが
void Foo(char[] str){}
void Foo(wchar[] delegate() str){}
void Foo(dchar[] delegate() str){}
void main()
{
//postfixを使わないとFoo(char[] str)が呼ばれる
Foo("text");
//Foo(wchar[] delegate() str)が呼ばれる
Foo("text"w);
}
みたいにできて便利
0648デフォルトの名無しさん
2006/08/25(金) 14:22:57その曖昧エラーは正直かなりどうにかして欲しい部分ではある。
自分で作る部分に関してはそういう事も出来るか。
0649639
2006/08/25(金) 21:55:05スタックフレームに関しては、なんとなくしか理解できてないけど、とりあえず
>if(*dg) *dg = (ry
としたら、うまくいった。
creat()のは、別のところにミスがあって直したら動くようになった。
LazyListを構造体で実装して、最適化付きでビルドするとうまくいかなかったりとか、
プログラムによっては正しくない計算結果が出てきたりとか、不安定なところはまだあるけど、
それよりも結構メモリを食うことの方がちょっと気になる。
構造体でのクロージャに比べて2〜3倍メモリを食うみたい。
余談だけど、上のfibを某所で見つけた遅延関数のキャッシュと組み合わせてみたら、
計算量が劇的に減って、かなりおいしい状況に。
あとは多倍長整数のライブラリがあればな〜。(Windows環境で使えるやつ)
0650デフォルトの名無しさん
2006/08/25(金) 22:21:02フィボナッチ数列を再帰で解くぐらいしかめったに無い使えないワザだけどね。
0651デフォルトの名無しさん
2006/08/25(金) 23:10:49言語の方であっても良いと思うんだけどな>>多倍長整数
0652デフォルトの名無しさん
2006/08/25(金) 23:38:51Dならそういうのを言語で,と期待できるんだなぁw
普通なら標準ライブラリに入れてくれ,となるだろうに
0653641
2006/08/26(土) 00:13:27不要なローカル変数も戻り先アドレスもレジスタ待避の分も
スタックポインタのアラインメントの分も全部巻き込んでクロージャに
突っ込むから、確かにメモリ消費は酷いっす。
まあ半分以上ネタなんで、実用上は構造体を使うべきかと...
# クロージャ用構造体をある程度自動生成してくれるmixinとか書けないかな
0654デフォルトの名無しさん
2006/08/26(土) 01:12:560655デフォルトの名無しさん
2006/08/26(土) 17:22:120656デフォルトの名無しさん
2006/08/26(土) 17:53:370657デフォルトの名無しさん
2006/08/26(土) 17:57:080658デフォルトの名無しさん
2006/08/27(日) 01:00:340659デフォルトの名無しさん
2006/08/27(日) 01:06:35関数型とか組み込みスクリプトとか組み込みDBとかw
java.lang.XML xml = #root { #leaf { 1 } #leaf { 2 } #node { #leaf { foo } } };
Java 7でこんな構文も登場するらしい。
0660デフォルトの名無しさん
2006/08/27(日) 02:00:18Javaって自分の出自を忘れたらしいな。
もうEE専用って感じになりつつある。
0661デフォルトの名無しさん
2006/08/27(日) 02:23:150662デフォルトの名無しさん
2006/08/27(日) 02:39:57少なくとも Java の仕様の変化は「追加」に収まってるよ。
D のように過去のソースの書き換えが必要になることはない。
0663デフォルトの名無しさん
2006/08/27(日) 02:48:310664デフォルトの名無しさん
2006/08/27(日) 03:02:46GUIライブラリやIDEなんかを作ろうとしてる人も
中途でやる気をなくしちゃうんだろうね。
仕様が変わってコンパイルできなくなったら
修正が面倒だから。
0665デフォルトの名無しさん
2006/08/27(日) 03:05:190666デフォルトの名無しさん
2006/08/27(日) 06:45:40違う言語だと悟ればいいんだよ
・・・そうか?
0667デフォルトの名無しさん
2006/08/27(日) 07:41:130668デフォルトの名無しさん
2006/08/27(日) 09:43:58http://www.radiumsoftware.com/0608.html#060822
0669デフォルトの名無しさん
2006/08/27(日) 12:05:40まだ言語仕様はこう、って確立してすらいないのに。
0670デフォルトの名無しさん
2006/08/27(日) 13:43:59確立したのにころころ変わるのはまずいけど。
0671デフォルトの名無しさん
2006/08/27(日) 15:54:47それで仕様が変わったからって文句言う奴もおかしい。
0672デフォルトの名無しさん
2006/08/27(日) 16:58:260673デフォルトの名無しさん
2006/08/27(日) 17:03:240674デフォルトの名無しさん
2006/08/27(日) 19:10:09しょうがないやん
0675デフォルトの名無しさん
2006/08/27(日) 19:26:11関数名ごとだから自力でやるよ
だいたい規則わかったし
0676デフォルトの名無しさん
2006/08/27(日) 21:32:33D では
配列型の引数の後ろに ... を続けると、 以降全ての引数を集めて一つの配列を作るようになります。 引数は指定された配列型に対して型検査が行われ、 個数は、 配列のプロパティとして取得することが可能です:
int sum(int[] values ...)
{
int s = 0;
foreach (int x; values)
s += x;
return s;
}
int main()
{
int i;
i = sum(8,7,6);
printf("sum = %d\n", i);
return 0;
}
0677デフォルトの名無しさん
2006/08/28(月) 01:02:50んじゃなかったっけ?
0678デフォルトの名無しさん
2006/08/28(月) 01:23:350679デフォルトの名無しさん
2006/08/28(月) 02:21:52ていうかそもそもクラスを変数のような物として持てる?
auto foo = new Foo;
auto bar = new foo.type;
=> barもFooのインスタンス
的な。
0680デフォルトの名無しさん
2006/08/28(月) 04:40:40auto foo = new Foo;
auto bar = new typeof(foo);
クラスの情報が知りたい時は.classinfo。
printf("%.*s\n", foo.classinfo.name);
0681デフォルトの名無しさん
2006/08/28(月) 12:24:57アリガトウ!
0682デフォルトの名無しさん
2006/08/28(月) 14:39:30完成したら公開キボン
0683デフォルトの名無しさん
2006/08/28(月) 21:37:15const uint SECURITY_DESCRIPTOR_MIN_LENGTH = SECURITY_DESCRIPTOR.sizeof;
の行っぽい。
const uint SECURITY_DESCRIPTOR_MIN_LENGTH = 20;
とか
const uint SECURITY_DESCRIPTOR_MIN_LENGTH = _SECURITY_DESCRIPTOR.sizeof;
に編集すると落ちない。
んで見つけた。
//クラッシュ再現コード
const int fooSize = Foo.sizeof;
struct tagFoo {}
alias tagFoo Foo;
void main(){}
0684デフォルトの名無しさん
2006/08/28(月) 22:18:120685デフォルトの名無しさん
2006/08/28(月) 23:46:520686デフォルトの名無しさん
2006/08/28(月) 23:54:12std.c.stdlib.(getenv|setenv|unsetenv)
0687デフォルトの名無しさん
2006/08/29(火) 00:26:39サンクス。putenvとかで探してた。
で、取得は出来たもののsetenv使うとリンクでエラー出るんだが……。
Error 42: Symbol Undefined _setenv
俺だけ?使うのに何か必要なのか?
0688686
2006/08/29(火) 00:44:12もう、面倒だからC言語の関数を直接externすれば解決だよ。とかじゃ駄目ですか?
extern(C)int putenv(char*);
0689デフォルトの名無しさん
2006/08/29(火) 00:57:38ああ、それで使えるんだ。
いやとりあえず全然問題無い。どうもありがとう。
0690デフォルトの名無しさん
2006/08/29(火) 02:24:43と思ってぶらりと訪れてみたらこれかよ?
0691デフォルトの名無しさん
2006/08/29(火) 20:25:42出来るならその関数名教えてエロい人!
0692691
2006/08/29(火) 20:30:25単項演算子やら二項演算子やらじゃないのね。おかげで見逃してしまった・・・。
0693デフォルトの名無しさん
2006/08/29(火) 23:19:04D言語は世に出すつもり無いんでしょ。
理想を追い求める職人の遊び道具のようだし。
適当なところで言語仕様固めて、早く普及して欲しいな・・・
0694デフォルトの名無しさん
2006/08/29(火) 23:54:550695デフォルトの名無しさん
2006/08/29(火) 23:59:19むしろバージョンアップでの言語仕様の右往左往こそがD言語らしい。
0696デフォルトの名無しさん
2006/08/30(水) 00:11:230697デフォルトの名無しさん
2006/08/30(水) 00:14:04言語仕様を徐々に追加(拡大)していって欲しい。
何か次世代?の新機能ばっかりアレコレ詰め込んで修正してばっか
りで、全然仕様を固めようとしてない。
いつ出るか分からないし、もう待ちくたびれて、javaとかC#に流れてし
まった。
ハードに近い仕事はCで十分だし。
なかなかリリースされないし、仕様がどうこうよりも、Dの存在意義と
いうか、Dのやりたい事を明瞭にした方がいいのかも?
0698デフォルトの名無しさん
2006/08/30(水) 00:53:21何度言えば理解できるんだろ。
日本語分かりますか?
0699デフォルトの名無しさん
2006/08/30(水) 01:22:29C + gnuライブラリー + gcライブラリー + gnomeライブラリー
でいいんじゃないの
横から悪いけど、君に向いてるも何も
Dだと有利なところが無いようだけどさ
0700デフォルトの名無しさん
2006/08/30(水) 02:31:200701デフォルトの名無しさん
2006/08/30(水) 03:59:09Dから流れる先でも全然ないというか、
そっちに行くようなら始めからDは向いてなかったんだろうね
0702デフォルトの名無しさん
2006/08/30(水) 08:42:480703デフォルトの名無しさん
2006/08/30(水) 09:47:28それはすごいな
バージョンアップで仕様変更のたびにプログラム作成できなくなっちゃうw
0704デフォルトの名無しさん
2006/08/30(水) 09:49:37俺も。
配列周りが特に。
0705デフォルトの名無しさん
2006/08/30(水) 12:21:010706デフォルトの名無しさん
2006/08/30(水) 15:08:19Dに関わらないことをすすめます。
おとなしくJavaなりC#でも扱ってろってこった
0707デフォルトの名無しさん
2006/08/30(水) 15:20:040708デフォルトの名無しさん
2006/08/30(水) 16:44:41漏れは
・超高速のコンパイル速度
・VMのいらないネイティブバイナリ
・ヘッダファイル要らない
ってとこに魅力を感じてまう。
遅延評価とかは正直(´・ω・`)ドウデモイイ…
あ、よく考えたら、バージョンupなんか付いていかずに
気に入った版をずっと使い続ければいいんじゃね?俺天才?
0709デフォルトの名無しさん
2006/08/30(水) 16:47:26俺も俺も
あとは、CPAN並みにライブラリが豊富だと
いいなーって思う
0710デフォルトの名無しさん
2006/08/30(水) 17:02:45版の違うライブラリが使えるかどうかわからんのでダウト
まあネタだろうけど
0711デフォルトの名無しさん
2006/08/30(水) 17:16:22結局ランタイム・ライブラリーに頼るしかないんじゃ、
CやDやJavaとか、言語の違いはあまり関係ないと思うけど・・
0712デフォルトの名無しさん
2006/08/30(水) 17:44:54実行時の速さやレスポンスはそんなに気になるほどでもない感じ。
それよりも他のIOからの入出力の方がレスポンスが遅いから
そっちの方が気になるけどさ。
>>699がいいたいこと分かる気がするけど、
Dが活躍するところがいまいち見出せない。
だから正式版も出ないし、期待されていても、
いつまでも普及しないのかなと思っちゃう。
D使ってる人って、こういうのが大事だと思ってないのかな?
0713デフォルトの名無しさん
2006/08/30(水) 18:02:14Java、PHP、Perl、.NETで済むのならわざわざつかわなくったって良いと思う。
Javaの機能との比較は必要ないと思うが。
0714デフォルトの名無しさん
2006/08/30(水) 18:54:44タイプシュガーは大切だけど、見た目以上の効果は無いと思う
0715デフォルトの名無しさん
2006/08/30(水) 19:17:07折り畳みができる。
保守性が高い。
#遅いのは同意。
0716デフォルトの名無しさん
2006/08/30(水) 20:11:56前方宣言だの未初期化だの.だの::だの->だの。
VBやJavaやC#はエンドユーザーやPCに負担がかかる。
実行時ランタイムだのVMだの。
柔軟性が損なわれててOSのAPIを使用するのに余計な手間がかかるし。
理想には程遠いが理想に最も近いからDを使ってる。
Dの現状に文句言ってる香具師はこんな些細なことすらに妥協できないのかよ。
0717デフォルトの名無しさん
2006/08/30(水) 20:21:540718デフォルトの名無しさん
2006/08/30(水) 20:49:32どこが悪いんだがわからない・・・
0719デフォルトの名無しさん
2006/08/30(水) 20:50:570720デフォルトの名無しさん
2006/08/30(水) 20:59:230721デフォルトの名無しさん
2006/08/30(水) 21:16:320722デフォルトの名無しさん
2006/08/30(水) 21:23:24なんでまだD言語なんてシェアウェア厨のオナニー言語にアインシュタインを超えてるの
MONOでネイティブコードも作れるのになんで欠陥だらけのガベコレを使ってるんだ
お前らのやっていることの意味がわからない
わからないが俺のここを見てくれ
Java、PHP、Perl、.NETで済むのならわざわざつかわなくったって良いと思う。ゴリゴリ
「すごく大きいです・・・」
いや〜、ツッコミどころ満載ですけど、みなさんツッコミいかがですか〜
「そんな大きいの入りきれません><」
0723デフォルトの名無しさん
2006/08/30(水) 21:25:250724デフォルトの名無しさん
2006/08/30(水) 21:25:51ずーとsage進行で、地下に潜んでいる人たちなの、ここの人たちは?
たまには太陽浴びるのも気持ちいーよー!
あー、おひさまって暖かいー、って実感できるからさ!!
,.. -───‐- 、
,/:.:.:.:.:.:_,,. -─- 、:.:.:.`ヽ、
/:.:.:.:.:.:/ ___ \:.:.:、\_
r‐く、:/:.:.://´:|:.:.:.:、:.:.:.:`\|:.:.:.lく__{_
く二ニ/:.:.:./:.:|:.:.:.:!:.:.:.:.ヽ:.:ヽ\:.l:.:.ヾ`くニヽ、
r─‐ァ'´ /:.:.:.:.|:_/!|:.:.l|:.:.:.:.l:.:|、:.:.|:.:l:.|:.:.:.:|l∠ lヽ
l/´!|>'|l:.:.:.:.l!:|`!|ヽ|ヽ:.:.:ト、!, く|l:.|:l:.:.:.:.ト、_`ヽ、Ll
. / /|l:.:.:l:|,rf⌒ヽ! \l´ ィ⌒'ミ |:.:.i:.|:.:l|人 〉
| ,イ:.:.l:.ハ、:ヽ仆、:::リ ト、:::リ l:.:.|ノ:/)っ ∨
∨|ハ:.|:.:.:.:|Tr‐っ' , ー' /:.:.//'´
l! ヽrーュi ⌒!、 t-r‐! ,.ノ:.//
/ 〈l|L__人`ヽ`ー'イ |lィー'´
`ー-=‐'`ヾ\_弋_フ/く
「`ーく_乍_フ_ ト、_
l /l |:| ヽゝ/ー、_)
`ヘニLl ̄`
\入
ヽノ
0725デフォルトの名無しさん
2006/08/30(水) 21:27:550726デフォルトの名無しさん
2006/08/30(水) 21:27:58:::::::::::| ,,rッ=广"`''フー-、,,_./:::::::`''-、::::::::::::::::;/:::::::::::::::::::::::::::::. |
:::::::::::l /_,,/--''ッ┴---、,,,/:::::::::::::::::::`ヽ::::::;/:::::::::::::::::::::::::::::::: |
::::::::::::| ''/::;rチ――--、,,/ヽ:、:::::::::::::::::::/j:::::::::::::/:::::::::::::::::::: |
:::::::::::::| /;;/ /;;;;;;;;;;;;;;;;;;;;/`''-、::ヽ、::::;/ /::::::::/:::::::::::::::::::::: |
i、::::::::::| 〃 .|;;;;;;;;;;;;;;;;;;;ノ:::::::::_;ヽ‐ 'く ./:::::::./:::::::::::::::::: ::::::: |
,i\:::::::| ′ |;;;;;;;;;;;;;;/;;;;::-:''´! .゙i `ッく:_::/:::::::::::::::::::: :::::: |
.i| .ヽ:::::l l;;;;;;;;;;;;" ̄;;;;;;;;;;ノ l/''/゙::;;へ:::::::::::::::::::::: ::::::: /
..i| ヽ:| 戈_ :ノ " .//:::::::::::::::::::::::::: ::::::: /
: ! リ  ̄''''―ニ=-' ._,,-〃:::::::::::::::::::::::::::: ::::::: /
,, -'':::::::::::::::::::::::::::::::::::: ::::::: /
_,, -::":::::::::::::::::::::::::::::::::::::::: /::::: /
i| ,,,-::''::::::::::::::::::::::::::::::::::::::::::::::_,, -:::''::::::::: /
` ._,, -::'"::::::::::::::::::::::::::::::::::::;;;;;:-ッー::'''::::::::::::::::::: /
_,,,,-::'':゙_::;;;::;;;::;;;---― ''' ̄厂 ,,シ:::::::::::::::::::::::::::: /
<二二> ̄ ̄ メ -::'':::::::::::::::::::::::::::::::: .i
ツ:::::::::::::::::::::::::::::::::::::::::: .!
0727デフォルトの名無しさん
2006/08/30(水) 21:32:56閉鎖空間内で「遊ぶ」以上のことをやってれば良くね?
世間に合わせてコンパイラのバージョン上げたりせず。
0728デフォルトの名無しさん
2006/08/30(水) 21:42:43/ヽ /ヽ
/ ヽ / ヽ
______ /U ヽ___/ ヽ
| ____ / U :::::::::::U:\
| | // ___ \ ::::::::::::::|
| | | | | U :::::::::::::|
| | .|U | | ::::::U::::|
| | | ├―-┤ U.....:::::::::::::::::::/
| |____ ヽ .....:::::::::::::::::::::::<
└___/ ̄ ̄ :::::::::::::::::::::::::|
|\ | :::::::::::::::::::::::|
\ \ \___ ::::::
0729デフォルトの名無しさん
2006/08/30(水) 22:09:11なんで出来てるのか考えたことぁあるか?
JavaとかC#でできてると思う? というか、ソースなんてみたことある?
ところで上にあげたものって、みんなメモリ管理とかデータ構造で苦労してんだぜ。
ちったぁ、Dさんのいうこと聴いてやれよ。
0730デフォルトの名無しさん
2006/08/30(水) 22:25:150731デフォルトの名無しさん
2006/08/30(水) 22:47:510732デフォルトの名無しさん
2006/08/30(水) 23:09:31あほか、文脈みてから言え。
今苦労してるから、なんとかしようとしてるんじゃねぇのか?
Cで解決できるんなら、さっさとだれか使える標準作れ。
0733デフォルトの名無しさん
2006/08/30(水) 23:34:370734デフォルトの名無しさん
2006/08/30(水) 23:36:050735デフォルトの名無しさん
2006/08/30(水) 23:44:380736デフォルトの名無しさん
2006/08/30(水) 23:55:47で、俺達はDで一体何をしようか?Dで何ができるんだろう?
0737デフォルトの名無しさん
2006/08/31(木) 00:04:19何だそれ。
Dで何某かしたいことがあるからDを使うんじゃないの?
0738デフォルトの名無しさん
2006/08/31(木) 00:10:26だから、Javaやってるような人を相手にしちゃダメだって
0739デフォルトの名無しさん
2006/08/31(木) 00:11:29736 ×
737 ○
0740デフォルトの名無しさん
2006/08/31(木) 00:22:11次の未来は俺達が作るのさ!
まってろよ、未来!!
0741デフォルトの名無しさん
2006/08/31(木) 00:31:36例えば、前方宣言なんか、自分で(文字処理用の)ツールを作って
ヘッダー作るときにそのツールを通せばいいだけでしょ?
未初期化の怖さ知らないでしょ?
演算子 . -> はCの言語仕様として納得し、それと自分のやりたい事との
見極めが出来ないんだろうな。
「些細なことにすら妥協」ってこっちの方がよっぽど些細だと感じちゃうなぁ。
やっぱツッコミが多かった。なんか私って釣られたみたいー☆
0742デフォルトの名無しさん
2006/08/31(木) 00:35:57俺は新しい機能を入れたと思ったら、
次のバージョンでそれをdeprecatedにするようなWalterたんに惚れたからだ。
それ以上の理由がない。
0743デフォルトの名無しさん
2006/08/31(木) 01:00:25些細なことだけどわざわざ妥協してCを使うまでもなくね?
Dという代替言語があるんだから。
代替言語がなかったら妥協するしか無いが。
0744デフォルトの名無しさん
2006/08/31(木) 01:18:27Dにというのがあるんだけどなぁ
>>741 その程度のことで判断してるのか?
0745デフォルトの名無しさん
2006/08/31(木) 01:21:38その辺は本当に些細なこと。
Dに移行する理由の内のほんのわずか。
Cに対する不満がDで解決する一部分の例に過ぎない。
0746デフォルトの名無しさん
2006/08/31(木) 01:35:23DBCに惹かれた人。
配列の扱いに惹かれた人。
文法に惹かれた人。
ネスト関数、ネストクラスに惹かれた人。
スコープガード、プロパティ、テンプレート、ネイティブコード、walterタン、etc...
Dに行っちゃう人の心境は多種多様だと思うよ。
なんで>>741はそういう視野の狭い見方しちゃうかな。
0747デフォルトの名無しさん
2006/08/31(木) 01:36:21∧∧
(゚Д゚ )
⊂ ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〉 ノノ~ < おちけつ〜
∪∪ \_________
0748デフォルトの名無しさん
2006/08/31(木) 01:54:200749デフォルトの名無しさん
2006/08/31(木) 01:56:17Dが漏れに惚れたんだ
0750デフォルトの名無しさん
2006/08/31(木) 02:01:19obj->nameとかも美的センスねーって思ってた。
だからDにとても強い魅力を感じてるけど、そろそろD出来上がってくれよ。
甘い言葉で引き付けているだけで、さすがにもう待ちくたびれたよー
D使っていても結局は小さいツールしか作ってねーし
0751デフォルトの名無しさん
2006/08/31(木) 02:04:15まあ、時代に選ばれればそれが正義って事だ。
0752デフォルトの名無しさん
2006/08/31(木) 02:24:440753デフォルトの名無しさん
2006/08/31(木) 02:48:050754デフォルトの名無しさん
2006/08/31(木) 03:04:25MSとかSUNの資本の前には象の前の蟻みたいなもんだろうしさ。
でも、C#がこけたMSがVMよりネイティブ路線に方向転換して(OSは押さえてるしな)、
ある程度コミュニティが育っているD言語に注目、そのままお買い上げ位ないかなあ。
とか激しく妄想しまくりんぐ。
0755デフォルトの名無しさん
2006/08/31(木) 03:04:260756デフォルトの名無しさん
2006/08/31(木) 03:11:35あのざまなのです。規格も提出されてないD言語が主流になるなんて、
逆立ちしたって無理です。
0757デフォルトの名無しさん
2006/08/31(木) 03:29:03復権?
>>756
劣るかどうかはともかくとして、主流とかどうでもいいよなあ・・・
定期的にこういう流れになるよな。なんでだ。
0758デフォルトの名無しさん
2006/08/31(木) 03:31:35むしろJavaやDの方が実験台になっている
のろいのはいいことらしい
0759デフォルトの名無しさん
2006/08/31(木) 03:31:500760デフォルトの名無しさん
2006/08/31(木) 03:56:20Dは実験結果出るのが早いからなw
0761デフォルトの名無しさん
2006/08/31(木) 03:57:50今現在D言語に向いていない人
1.主流になる言語以外は覚える価値が足りない/そんな余裕がない
2.JavaやC#の代替言語が欲しい
3.IDEがないとプログラミングできない/やる気になれない
今現在D言語に向いている人
1.D言語が主流になることがそれほど重要ではない
2.そもそもまだIDEが欲しくなるようなアプリを書かない/別にIDEいらない
2.C/C++のいろんなことに辟易している
3.やっぱネイティブが好き
4.言語仕様の○○が嬉しい(GC,変数自動初期化,組み込み型文字列などなど)
各自家で考えてくるように
0762デフォルトの名無しさん
2006/08/31(木) 07:20:48気がすまないお子様みたいな印象受けますよ。不毛過ぎ。
Dはまだ冒険できる段階なんだから、あれこれ試して
他の言語と影響し合って共に成長していきゃみんな幸せでしょうに。
その結果淘汰される言語が出てきてもそれはもうしょうがないでしょ。
0763デフォルトの名無しさん
2006/08/31(木) 08:50:11それが面倒だから、機能がある言語に乗り換えるという発想をしないのか?
というか、別に自分で作ればいいジャンと主張するのは構わないけど
その労苦を厭うことを認めるくらいの寛容さがほしいね
0764デフォルトの名無しさん
2006/08/31(木) 09:09:37そうはいかないだろ。バグフィクスだってあるんだから
0765デフォルトの名無しさん
2006/08/31(木) 12:12:50おそいの おそくないのってのは、自分で計っていってるんだよなー?
実測する能力がないのなら、ここでもみとけ
ttp://shootout.alioth.debian.org/gp4/d.php
0766デフォルトの名無しさん
2006/08/31(木) 12:32:340767デフォルトの名無しさん
2006/08/31(木) 12:39:31wineのやりたい事はvirtual pcやvmwareに吸収された感じだった。
Dのネイティブと言う発想は、もう既に、java virtual machineや.net frameworkに
吸収されてるんじゃないのか。確かに実行速度が速い遅いはあるけどさ。
ハード的なネイティブ(cpu毎の命令セット)?と言うか、
ソフト的なネイティブ(bytecode)の方にさ。
0768デフォルトの名無しさん
2006/08/31(木) 12:50:323行目から意味が全くわからないな・・・
0769デフォルトの名無しさん
2006/08/31(木) 12:50:34意図ワカメ。
それを>>761に質問してどうするの?
0770デフォルトの名無しさん
2006/08/31(木) 12:51:14ヒント:つり
0771デフォルトの名無しさん
2006/08/31(木) 13:18:07やっぱりテンプレートまわり?
0772デフォルトの名無しさん
2006/08/31(木) 13:47:17つ プリプロセッサが無い
0773デフォルトの名無しさん
2006/08/31(木) 13:53:50正確な GC が実装される可能性ってあるんだろうか。
そもそもタグビットとかを設けずに正確な GC を実装可能なのか
よく知らないんだけども。
0774デフォルトの名無しさん
2006/08/31(木) 15:33:49共通の言葉としてそんなのあるの?
773のオレオレ言語に正確なGCってのがあるの?
0775デフォルトの名無しさん
2006/08/31(木) 15:58:570776デフォルトの名無しさん
2006/08/31(木) 17:10:04http://www.google.com/search?q=exact-gc
0777デフォルトの名無しさん
2006/08/31(木) 17:41:51Java界隈ではexact GCを正確なGCって翻訳する人がいるのか…。
0778デフォルトの名無しさん
2006/08/31(木) 17:43:230779デフォルトの名無しさん
2006/08/31(木) 18:15:44慣用句と一緒でexact と GCで意味を成してるんだから
exactだけ翻訳するのはおかしいだろ
と、思う今日この頃
0780デフォルトの名無しさん
2006/08/31(木) 18:38:060781デフォルトの名無しさん
2006/08/31(木) 18:52:16寿司とかだって海外では翻訳されないでそのまま辞書に載ってんだろ。
0782デフォルトの名無しさん
2006/08/31(木) 21:08:34言い訳粘着
見苦しい
0783デフォルトの名無しさん
2006/08/31(木) 22:15:29無駄にワロタ
0784デフォルトの名無しさん
2006/08/31(木) 22:36:40だそうなので両方知っとけという話だろうな。
"conservative GC"のことを "保守的なGC"
というのはわりと普通だろうし。
0785デフォルトの名無しさん
2006/08/31(木) 22:45:530786デフォルトの名無しさん
2006/08/31(木) 23:59:210787デフォルトの名無しさん
2006/09/01(金) 03:46:28この手の用語で1万超えてれば普及度高いほうだと思うけど.
0788デフォルトの名無しさん
2006/09/01(金) 03:48:50正確な GC ってのは聞いたこと無いけどな。
0789デフォルトの名無しさん
2006/09/01(金) 03:54:420790デフォルトの名無しさん
2006/09/01(金) 04:11:07Aug 30, 2006
New/Changed Features
* Upgraded zlib from 1.2.1 to 1.2.3 per Bugzilla 286
* Removed implicit conversion to delegates, except in the case of typesafe variadic arguments.
* Replaced with lazy parameter storage class per Tomasz Stachowiak's suggestion D/41633.
* Incorporated Oskar Linde's patches to support member templates.
0791デフォルトの名無しさん
2006/09/01(金) 04:27:30こんな、時間にお疲れ様。
ちょっと落として遊んでみる。
0792デフォルトの名無しさん
2006/09/01(金) 04:48:05まぁ、メンバ関数テンプレートが使えるようになったから良しとしとこう。
0793792
2006/09/01(金) 04:52:33別にあのトリックは普通に使えるね。
0794デフォルトの名無しさん
2006/09/01(金) 05:05:22void dotimes(int count, void delegate() exp)
から
void dotimes(int count, lazy void exp)
に変更なだけ?
0795デフォルトの名無しさん
2006/09/01(金) 08:59:30本家のドキュメントに言及されてる部分が見つからないんだけど
0796デフォルトの名無しさん
2006/09/01(金) 10:24:07>It is really just a small patch that enables implicit function template instantiation for member function and operator templates. It should work identically to how IFTI works for free functions.
>It should open up quite a few door. Here is a quick demo I hacked together of how compile time dimensionality checking can be implemented:
>http://www.csc.kth.se/~ol/physical.d
0797デフォルトの名無しさん
2006/09/01(金) 20:52:180798デフォルトの名無しさん
2006/09/01(金) 23:13:280799デフォルトの名無しさん
2006/09/02(土) 05:58:51const char[][eNumbers.max+1] sNumbers = [
eNumbers.zero : "0",
eNumbers.one : "1",
];
void main(char[][] args) {
eNumbers x = eNumbers.one;
switch(x) {
case sNumbers[eNumbers.zero] :
break;
case sNumbers[eNumbers.one] :
break;
default:
break;
}
}
なぜこれが、通らない?
0800デフォルトの名無しさん
2006/09/02(土) 06:03:37eNumbers x = eNumbers.one;
じゃなくて
char[] x = "1";
0801デフォルトの名無しさん
2006/09/02(土) 08:47:32switchがintとchar[]の比較になっているということでは。
0802デフォルトの名無しさん
2006/09/02(土) 10:03:42>sNumbers[eNumbers.one]
が定数じゃないから
0803デフォルトの名無しさん
2006/09/02(土) 10:19:18http://www.kmonos.net/alang/d/statement.html#switch
> caseの式は全て、switch Expression の型Tへ暗黙に変換できるような
> 定数値か定数配列へ評価されなくてはなりません。
で、定数配列なのはsNumbersであって、
sNumbers[0]やsNumbers[1]ではないから、ということなんだろう。
しかし、同じ理屈で
const int[] ns = [1,2,3,4,5];
ns[0] = 6;
が通るんだが、だれもうれしくないと思う。
それともバグなのかな。
constが型修飾子じゃなくて記憶クラス指定子扱いな仕様バグなのか、
配列に対するconst指定の振る舞いのバグなのか。
>>802
const char[] char0 = "0";
として
case char0:
とするとchar0が文字列リテラル扱いされて通るが、
const char[] char0 = ['0'];
として
case char0:
とすると通らないってのは嫌だと思う。
0804デフォルトの名無しさん
2006/09/02(土) 11:00:000805デフォルトの名無しさん
2006/09/02(土) 11:57:40>const char[] char0 = ['0'];
こんな書き方する奴がイヤだと思う。
0806デフォルトの名無しさん
2006/09/02(土) 12:48:39ところでD言語とC++のconstの違いについて書いている資料ってどこかにありますか?
違うとはいろいろなところで見かけるけどどう違うのかがよくわからなくて
0807デフォルトの名無しさん
2006/09/02(土) 12:52:33"mojiretsu".dupは折り畳みが実装されてないだけかと。
constはstatic thisで初期化できるとか。
0808デフォルトの名無しさん
2006/09/02(土) 14:48:16const int[] xxx = [0];
や
const char[] xxx = "0";
が大丈夫で
const char[] xxx = ['0'];
や
const char[][] xxx = ["0"];
がダメっていう理由が思いつかない。
バグなのか?
0809デフォルトの名無しさん
2006/09/02(土) 15:16:460810デフォルトの名無しさん
2006/09/02(土) 15:30:12const char[] xxx = ['0'];はどう考えてもバグ。
const char[][] xxx = ["0"];は現状では静的配列の静的配列じゃ無く動的配列の静的配列になってるんじゃね? どっちにしてもバグ。
ソース読んで無いから正確には分からないけど。
0811デフォルトの名無しさん
2006/09/02(土) 16:22:26static assert (xxx[0] == 0);
const char[] xxx2 = "0";
static assert (xxx2[0] == '0');
const char[] xxx3 = ['0'];
static assert (xxx3[0] == '0');
const char[][] xxx4 = ["0"];
static assert (xxx4[0] == "0");
これで評価できるのはxxx2のみ
今までは配列リテラル未実装のせいかと思ってて「配列リテラル早く来い」書き込んでたけど
case文にxxx1を使っても大丈夫なら何かしらバグが存在してるみたいだね。
0812デフォルトの名無しさん
2006/09/02(土) 16:23:17○xxx
0813808
2006/09/02(土) 16:33:00あ、ごめん。まとめまちがってた。
const int[] xxx = [0]; は通らない。
0814799,800
2006/09/02(土) 17:02:09お返事ありがとう。勉強になりました。
で、今のところenumと文字列の整合をしようと思ったらこんな感じにするしかないのかな?
template sNumbers(eNumbers idx) {
static if(idx == eNumbers.zero)
const char[] sNumbers = "0";
static if(idx == eNumbers.one)
const char[] sNumbers = "1";
}
case sNumbers!(eNumbers.zero) :
break;
0815デフォルトの名無しさん
2006/09/02(土) 17:17:25もう諦めよう…
0816デフォルトの名無しさん
2006/09/02(土) 17:19:56enumと文字列の整合に限らず、配列の静的評価の問題はそれ以外に解決方法見つからん。
0817デフォルトの名無しさん
2006/09/02(土) 17:22:05>>683の修正して
importをpublic importにするだけじゃね?
0818デフォルトの名無しさん
2006/09/02(土) 17:23:08うんごめん、ぐぐったら簡単に出てきた。
ttp://d.hatena.ne.jp/haru-s/20060829
0819デフォルトの名無しさん
2006/09/02(土) 20:36:32"aaa"w.toT()って書けるな。
どうでも良いけど多分こっちのが書きやすい。
0820デフォルトの名無しさん
2006/09/02(土) 21:40:07というふうに、変数に束縛できたらいいのに
0821デフォルトの名無しさん
2006/09/02(土) 22:02:28delegateに変換するという荒業でなんとか。
T delegate() lazy2dg(T)(lazy T v){
asm{
naked;
mov EAX,[ESP+4];
mov EDX,[ESP+8];
ret 8;
}
}
void main(){
int x;
auto closure = lazy2dg(++x);
closure();
closure();
printf("%d\n",x);
}
0822デフォルトの名無しさん
2006/09/02(土) 22:39:480823デフォルトの名無しさん
2006/09/02(土) 22:43:45import std.stream;
union X {
char[] str;
ubyte[] bin;
}
int main(){
X x;
x.str = "あaいi";
char[] r = std.string.format("%s(%d) (%.s)(%d)\n", x.str, x.str.length, x.bin, x.bin.length);
printf(r);
return 0;
}
これだと x.str.length も8になるんだけど4じゃないの?
0824デフォルトの名無しさん
2006/09/02(土) 22:58:39echo -n "あaいi" | nkf -w | wc -c
8
0825デフォルトの名無しさん
2006/09/02(土) 23:14:10あれ、仕様が変わったのかな
"あaいi".lengthだけでも8になってる。(utf-8)
0826デフォルトの名無しさん
2006/09/02(土) 23:16:58std.utfで文字数を取得出来たんじゃないかな?
0827デフォルトの名無しさん
2006/09/02(土) 23:35:38それが4になる仕様ってあったか?
俺が知ってる限りそんな仕様の時代一度もなかったが。
0828デフォルトの名無しさん
2006/09/02(土) 23:40:450829デフォルトの名無しさん
2006/09/02(土) 23:41:40char[]やbyte[]に落とされたら8になるのは当たり前だ罠。
utf8を格納する型、ったってchar[]は単なるcharの配列だし
utf8の1文字のサイズは可変なのに対しchar.sizeofは1固定だからな。
0830デフォルトの名無しさん
2006/09/03(日) 00:03:52なにげに便利そう。でも凶悪なコード(w
0831デフォルトの名無しさん
2006/09/03(日) 00:07:200832デフォルトの名無しさん
2006/09/03(日) 05:39:02動的配列のlengthは要素数の取得設定ってあったし…すまなかった。
でも俺以外にも勘違いしてるヤツはいるはず!
0833デフォルトの名無しさん
2006/09/03(日) 05:56:49?
0834デフォルトの名無しさん
2006/09/03(日) 06:21:590835デフォルトの名無しさん
2006/09/03(日) 08:35:20マルチバイト文字使いたくないならdcharでも使っとけ。
まぁ細かい事考えるとUTF32でも微妙に例外あるけどな。
0836デフォルトの名無しさん
2006/09/03(日) 11:35:54char c2 = 'i';
assert(c1.sizeof == 3);
assert(c2.sizeof == 1);
char[] str = "あaいi";
assert(str[0]. == 'あ');
assert(str[1]. == 'a');
assert(str[2]. == 'い');
assert(str[3]. == 'i');
assert(str[0].sizeof == 3);
assert(str[1].sizeof == 1);
assert(str[2].sizeof == 3);
assert(str[3].sizeof == 1);
assert(str.length == 4);
きめぇw
0837デフォルトの名無しさん
2006/09/03(日) 12:18:180838デフォルトの名無しさん
2006/09/03(日) 20:09:40with(this)
{
メンバ変数に代入していくコード
}
0839デフォルトの名無しさん
2006/09/03(日) 22:35:04ほんとにそんな仕様になってんのかと思ってびびった。
そんなはずあるわけないよなぁ。よかったよかった。
0840デフォルトの名無しさん
2006/09/04(月) 00:36:10mixinで対処できるけど、なんだかなぁ。
0841デフォルトの名無しさん
2006/09/04(月) 00:37:26詳しく
0842デフォルトの名無しさん
2006/09/04(月) 00:51:570843デフォルトの名無しさん
2006/09/05(火) 07:28:37なんかを読んでてふと思ったんだけど、
こういう説明に出てくる、dotimes関数とかEnforceテンプレートのような
瑣末なコード断片って、ライブラリ化されるほどでもないし、備えておくと
便利というほどには汎用性のある関数ってわけでもないけど、
いざその処理を書くとなると、いちいち書くのが不毛な感じがするんだよなあ。
こういうどうでもいいような微妙な処理を、バリエーション豊富に
とりそろえたライセンスフリーな何かって、どっかから一括で
手に入らんかな。
全部のソースコードで書く2,3行の処理をそれぞれ1行で済ませられたら、
楽になっていいなあと思うんだけど。
0844デフォルトの名無しさん
2006/09/05(火) 14:26:46import foo.2bar.baz;
数字から始まるフォルダを含むモジュール名を指定するとエラー出すけど、これって仕様、それともバグ?
そういう記述は見つかんなかったけど、確信はなし。
0845デフォルトの名無しさん
2006/09/05(火) 14:29:34仕様
ModuleDeclaration:
module ModuleName ;
ModuleName:
Identifier
ModuleName . Identifier
Identifier:
IdentiferStart
IdentiferStart IdentifierChars
IdentifierChars:
IdentiferChar
IdentiferChar IdentifierChars
IdentifierStart:
_
Letter
UniversalAlpha
IdentifierChar:
IdentiferStart
Digit
0846デフォルトの名無しさん
2006/09/05(火) 14:36:03だな。
0847デフォルトの名無しさん
2006/09/05(火) 15:39:21構文解析の方を見なきゃなんなかったのか・・・。
Identifierならしょうがないな・・・。
サンクス。
0848デフォルトの名無しさん
2006/09/05(火) 23:21:47class Foo {
static Foo opCall(){ return new Foo; }
}
とかでもやっときゃ良いんですか?
0849デフォルトの名無しさん
2006/09/05(火) 23:39:31>opCallの使い所
C++でいう関数オブジェクトとか。
まぁ、delegateあるからC++より使う幅狭いけど
0850デフォルトの名無しさん
2006/09/05(火) 23:45:23構造体の初期化をコンストラクタ風にしたいときとか。
0851デフォルトの名無しさん
2006/09/06(水) 00:03:17void main(){
int res = 0;
for(int i = 0; i < 10; i++){
res = res + x - y;
writefln(res);
}
}
これを最適化付きでビルドすると、間違った答えが出る件。
0852デフォルトの名無しさん
2006/09/06(水) 00:39:48res = res + (x - y);
ってやると正しい結果になりますね。
普段括弧多用するのでこういうのは気づかなかった…
0853デフォルトの名無しさん
2006/09/06(水) 00:44:460854デフォルトの名無しさん
2006/09/06(水) 01:01:580855デフォルトの名無しさん
2006/09/06(水) 01:50:340856デフォルトの名無しさん
2006/09/06(水) 01:56:11clでも昔似たようなのがあった気はするけど。
0857デフォルトの名無しさん
2006/09/06(水) 15:58:23Walterタン に、ご報告した?
0858デフォルトの名無しさん
2006/09/06(水) 19:42:230859デフォルトの名無しさん
2006/09/06(水) 19:51:230860デフォルトの名無しさん
2006/09/06(水) 19:52:350861デフォルトの名無しさん
2006/09/06(水) 20:55:380862デフォルトの名無しさん
2006/09/06(水) 20:57:39この間、本屋に一冊あったから買っちゃった。
ところで、お勧めのD解説サイトってある?
0863デフォルトの名無しさん
2006/09/06(水) 21:03:39蜘蛛の巣しか無くね?
あとやねうらおさんのとか。若干情報が古いけど。
0864デフォルトの名無しさん
2006/09/06(水) 21:06:50ないところにはないのか
0865デフォルトの名無しさん
2006/09/06(水) 21:07:160866デフォルトの名無しさん
2006/09/06(水) 21:11:20private領域へのアクセスになるべきなのかならないべきなのかわからんけど
どっちかになるべきだよなこれ
template Foo()
{
private int priv;
public int pub;
}
class Bar
{
mixin Foo F;
this()
{
priv = 1;// error
pub = 1;
F.priv = 2;
F.pub = 2;
}
}
void main()
{
}
0867デフォルトの名無しさん
2006/09/06(水) 21:21:50opCallの用途ってそんなんしかないのか
interface State {
void onLButtonDown();}
class State1 : State {}
class State2 : State {}
class Context
{
void onLButtonDown() {
pre();
onLButtonDown()
0868867
2006/09/06(水) 21:22:26すまん
途中で送信してしまた
0869デフォルトの名無しさん
2006/09/06(水) 21:37:23lazyは便利だという話
あるクラスの中において,ある処理の前後で必ず実行する定型処理があったら
void doSequence(lazy void doSomething)
0870デフォルトの名無しさん
2006/09/06(水) 21:38:07Janeはシフト+エンターで書き込みなのか・・・・・・・・・・・・・・・・ もういや・゚・(ノД`)・゚・
0871デフォルトの名無しさん
2006/09/06(水) 21:44:56すまんが、URLを教えて。
それらしきものが全然見つかんない orz
0872デフォルトの名無しさん
2006/09/06(水) 21:47:13>>871
http://www.kmonos.net/alang/etc/d.php
D MEMO
http://www.sun-inet.or.jp/~yaneurao/dlang/
やねうらおさんとこ
0873デフォルトの名無しさん
2006/09/06(水) 22:15:54え、
それの事だったのか。
勘違いスマソ
0874デフォルトの名無しさん
2006/09/06(水) 22:23:35その後者の方の
> デジタル火星の言語の周りを回る標準ライブラリは、その名も Phobos、火星の惑星です。標準でどんなものが用意されているか、見てみましょう。
これは指摘するべきだろうか。
0875デフォルトの名無しさん
2006/09/06(水) 22:32:22前者でないの?
まあ、衛星だな。
0876デフォルトの名無しさん
2006/09/06(水) 22:39:26前者だな。ごめん。
な、衛星だろ?
0877デフォルトの名無しさん
2006/09/06(水) 22:48:53警察では公然猥褻の疑いもあると見て捜査をすすめています。
0878デフォルトの名無しさん
2006/09/06(水) 23:07:29修星しますた。thx
0880デフォルトの名無しさん
2006/09/06(水) 23:37:08www
そんな細部だけ直さなくともw
0881デフォルトの名無しさん
2006/09/06(水) 23:46:17コード読んで、動かしてもらえばわかってもらえるはず。
俺も英語力は無きに等しいけど、意味は通じるんじゃないかな。
--
This code compiled with '-release -O' make a illegal calculation.
import std.stdio;
int x = 2, y = 1;
void main() {
int res = 0;
for(int i = 0; i < 10; i++) {
res = res + x - y;
writefln(res);
}
}
0882デフォルトの名無しさん
2006/09/07(木) 00:15:280883デフォルトの名無しさん
2006/09/07(木) 00:38:460884デフォルトの名無しさん
2006/09/07(木) 00:52:48Walterタンとおまえの方向性が違うだけ。
気に入らなきゃ他の言語を探すなり自分で作るなりをすればいいだけ。
0885デフォルトの名無しさん
2006/09/07(木) 01:11:060886デフォルトの名無しさん
2006/09/07(木) 01:54:470888デフォルトの名無しさん
2006/09/07(木) 06:55:100889デフォルトの名無しさん
2006/09/07(木) 08:25:25ttp://d.puremagic.com/issues/show_bug.cgi?id=326
>his error also occurs in DMC with similar code.
ってオイ!
0890デフォルトの名無しさん
2006/09/07(木) 08:38:460891デフォルトの名無しさん
2006/09/07(木) 08:51:000892デフォルトの名無しさん
2006/09/07(木) 08:56:11-Oだけで再現できますよと言ってる?
0893デフォルトの名無しさん
2006/09/07(木) 11:58:37> -release isn't required. Only -O is needed for the bug.
-releaseは要らないよ。そのバグに必要なのは-Oだけよ。
> This error also occurs in DMC with similar code.
DMCでも同様のコードでこのエラーが起きたよ。
あとの行はその人が調べたバグの起きる条件の詳細っぽい。
しかし怖いバグだな。
0894デフォルトの名無しさん
2006/09/07(木) 15:19:52static foreachとか可変個引数テンプレートとかにも対応して早く以下のようなコードを書いてみたいものだなぁ…
template T(char[][] a...){
interface Base(){
void do();
}
static foreach(char[] b;a){
class identifier(b):Base{
void do(){
writefln(b);
}
}
}
}
mixin T!("test1","test2","test3");
0895デフォルトの名無しさん
2006/09/07(木) 18:17:530896デフォルトの名無しさん
2006/09/07(木) 23:56:53普通にプロジェクト内の一ファイルとしてコンパイルするとうまくいくのに。
しょうがないから、mixinで丸ごとコードを持ってくるようにして対処してるけど、これってバグ?
0897デフォルトの名無しさん
2006/09/08(金) 00:02:06あ、それ俺もなるわ。
仕様とか、自分のやり方が違うのかと思って、
そういうライブラリ自体をコンパイルしてリンクしてたけど・・・。
バグじゃないにしてもコンパイルしないで使える方法とか知りたいです。
0898デフォルトの名無しさん
2006/09/08(金) 00:23:35言語の設計だけやったら実装してくれる神はおらんものか。
0899デフォルトの名無しさん
2006/09/08(金) 00:27:040900デフォルトの名無しさん
2006/09/08(金) 01:59:50同じような機能がたくさんない?
好みもあるだろうけど自分の場合lazyが増えたおかげでdelegateを使う場面が激減したよ。
C#のイベントハンドラのように、インスタンスにメソッドを連結するような用途ではdelegateを使わなくなった。
function pointerとdelegateはどっちかで十分ならどっちかに絞るのも手だと思う。
必然性があってそうなっているのかもしれないが・・・俺にはわからないや。
0901デフォルトの名無しさん
2006/09/08(金) 02:05:19呼ばれるなら一緒じゃないの?
(コンテキストを保存する意味ではdelegateは有用だと思うけど、じゃぁ他のは?とも思う)
0902デフォルトの名無しさん
2006/09/08(金) 04:59:41あなたが新世界の神となれば良いじゃないですか
0903デフォルトの名無しさん
2006/09/08(金) 10:45:260904デフォルトの名無しさん
2006/09/08(金) 12:38:14ftp://ftp.digitalmars.com/
0905デフォルトの名無しさん
2006/09/08(金) 12:39:090906デフォルトの名無しさん
2006/09/08(金) 14:24:37どうもです。changelogから取れました。
0907デフォルトの名無しさん
2006/09/08(金) 15:05:09・基本はdelegate。
・functionはdelegateより速い。あと""Cの関数ポインタと互換性がある""。
でも外部スコープの変数を参照できない。
・lazyは""ちょっと記法が楽""なのだけが利点。
引数をとれない。式しか書けない==文が書けない。変数として持ち回れない。
・関数クラス(opCallのあるクラスのこと?)は""opCall以外のメンバも持てる""けど
delegateはcallすることしかできない。それ以外の点では逆にdelegateの方が汎用性高い。
0908デフォルトの名無しさん
2006/09/08(金) 15:07:30float property(inout float m_var, float var, lazy int range) {
if(var == float.nan) { return m_var; }
else {
if(range()) { m_var = var; }
return m_var;
}
}
}
class A {
private float m_hoge=0.0;
public float hoge(float hoge=float.nan) {
return property!(float)(m_hoge, hoge, hoge>3.0 && hoge<8.0);
}
}
void main() {
A a = new A;
for(float i=0.0;i<10.0;i+=1.0) {
a.hoge = i;
writefln(a.hoge);
}
}
いまは反省している。
0909デフォルトの名無しさん
2006/09/08(金) 15:27:200910デフォルトの名無しさん
2006/09/08(金) 15:39:37試せ
float a, b;
printf("%s", a==b);
0911デフォルトの名無しさん
2006/09/08(金) 15:43:22-run なんて忘れてた。
0912デフォルトの名無しさん
2006/09/08(金) 15:55:36アホ、908への皮肉だボケ。
試さないとダメなのは908だ。
てか、そもそもお前がそのコード試せよ。
どうみてもSegment Faultだろ。馬鹿か。
0913デフォルトの名無しさん
2006/09/08(金) 16:27:48if(!isnan(var) && range()) { m_var = var; }
return m_var;
}
0914デフォルトの名無しさん
2006/09/08(金) 18:57:180915デフォルトの名無しさん
2006/09/08(金) 19:04:44確かビルドオプションのどれか省略したらかなり高速になったような。デバッグがらみのフラグだったかな?
いまDWT入れてなくて確認できないですけど。
0916デフォルトの名無しさん
2006/09/08(金) 19:45:30import ファイルを .di にとか。
0917デフォルトの名無しさん
2006/09/09(土) 00:45:06ドラフトを作る程度までなら現役SEなんでなんとかやれるかと思うんですが、
コンパイラ理論がよくわからないもので、、
使う側の要望・メリットを仕様にまとめるってのならできるんですが、、
0918デフォルトの名無しさん
2006/09/09(土) 00:47:09じゃあ、試しに纏めてみせて
0919デフォルトの名無しさん
2006/09/09(土) 01:08:23それに全部まとめなおさなくても気に入らないところだけ挙げてみればー
0920デフォルトの名無しさん
2006/09/09(土) 09:13:33そんなこと無いと思う。コンパイラの負担が無茶苦茶増える事はあると思うけど。
0921デフォルトの名無しさん
2006/09/09(土) 09:44:450922デフォルトの名無しさん
2006/09/09(土) 10:05:01あなたが頑張ってくださいの世界です。
0923デフォルトの名無しさん
2006/09/09(土) 10:59:110924デフォルトの名無しさん
2006/09/09(土) 11:03:16教科書原理主義kt
0925デフォルトの名無しさん
2006/09/09(土) 11:14:21言語が安定してくれないとそっちに取り掛かれないんだよね。
0926デフォルトの名無しさん
2006/09/09(土) 14:21:07そんな実力ありません。
0927デフォルトの名無しさん
2006/09/09(土) 14:24:240928デフォルトの名無しさん
2006/09/09(土) 17:22:560929639
2006/09/09(土) 20:27:49Dのホームページのテンプレート再訪のところにあったTupleとFuncMetaを使って書いたらこうなった。
int delegate() counter(int n, int m){
auto tuple = makeTuple(n, m);
return closure(tuple, (inout typeof(tuple) t){
return t.val!(0)++;
});
}
RetType!(U) delegate() closure(T, U)(T tuple, U func){
struct Closure{
T tuple;
U func;
RetType!(U) closure(){
return func(tuple);
}
}
auto c = new Closure;
c.tuple = tuple;
c.func = func;
return &c.closure;
}
counter関数が毎回書く部分で、closure関数が一度書いておけばいい部分。
まあ、正直ここまでする価値があるかは微妙だけど。
0930639
2006/09/09(土) 20:30:49int delegate() counter(int n){
auto tuple = makeTuple(n);
return closure(tuple, (inout typeof(tuple) t){
return t.val!(0)++;
});
}
0931デフォルトの名無しさん
2006/09/09(土) 21:54:45金勘定に使いたいと思うと、でっかいインテジャーでも使い勝手悪くて
結局ライブラリ作らないと駄目なんですけど。
0932デフォルトの名無しさん
2006/09/09(土) 22:12:240933デフォルトの名無しさん
2006/09/09(土) 22:18:55小数点の扱いとか、切り上げ切り捨ての時にチョコチョコ操作してやらなきゃ
ならないんだよ。お金勘定系のシステム作ったこと無い人には、ピント来ないと
思うんだけどね。
で、その辺のチョコチョコしたことはまぁ、書けば良いし誰だって書けける程度の事だから
みんな書くんだけど、言語でサポートしててくれれば、安全で分かりやすく書けるのね。
0934デフォルトの名無しさん
2006/09/10(日) 02:40:210935デフォルトの名無しさん
2006/09/10(日) 09:16:55まだ纏まらないの?
0936デフォルトの名無しさん
2006/09/11(月) 05:43:06import std.cstream;
void main() {
char[][] list;
foreach(char[] line; din)
list ~= line;
foreach(char[] s; list)
writefln(s);
}
実行すると、エラーになるのですが。これは何がいけないのでしょうか?教えてください。
0937デフォルトの名無しさん
2006/09/11(月) 06:04:09やりたいのは、これ?
foreach(char[] line; din){
list.length = list.length+1;
list[length-1] = line.dup;
}
foreach(char[] s; list)
writefln(s);
0938デフォルトの名無しさん
2006/09/11(月) 06:15:37StreamのopApplyで渡すバッファは、
ローカル変数だったり使いまわされてたりするのでdupが必要。
import std.stdio;
import std.cstream;
void main(){
char[][] list;
foreach(char[] line; din)
list ~= line.dup;
foreach(char[] s; list)
writefln(s);
}
0939937
2006/09/11(月) 06:26:570940917
2006/09/11(月) 11:39:47プリミティブな変数型を排除して純粋なオブジェクト指向にする。
public class TestMain {
public static void main(string[] argrs) {
string a = "aaa";
if(a == "aaa") {
printf("ok\n");
}
}
}
リテラル型のデータはそれぞれ対応したクラス型を持ったオブジェクトとして扱う。
オブジェクトは全て参照渡しを原則とする。
オブジェクト同士の比較する際には比較演算子==を使用するが、この場合に限り値よる比較を行う。
参照の同一性を調べる場合には
ExemplaClass ec = new ExampleClass();
ExemplaClass ec2 = new ExampleClass();
if(ec.reference == ec2.reference){
//
}
としてreferenceプロパティの結果を比較する。
---------------------------------------------
ていうようなメモの蓄積でよければどっかにwiki作ってやってけそうですが、、
0941デフォルトの名無しさん
2006/09/11(月) 12:39:250942デフォルトの名無しさん
2006/09/11(月) 12:51:210943デフォルトの名無しさん
2006/09/11(月) 23:15:05とりあえず、その思想をDに適用するのは糞だと指摘しとく。
「純粋なオブジェクト指向」なんて、まさに「言語の上っ面の設計だけ」したい奴の常套句。
プリミティブ型を排除してもさほど便利にはならない。
それなのに実行速度は激しく落ちる。そんなアホな方向性は絶対ダメだ。
0944デフォルトの名無しさん
2006/09/11(月) 23:58:36それじゃ文がCっぽいNativeなRubyになる。
Rubyがだめとは思わないが、そんな中途半端な言語はちょっと勘弁して欲しい。
あとは >>943 と同意。
0945デフォルトの名無しさん
2006/09/12(火) 00:03:49Java以外の言語の設計思想を知らんのじゃないか?
0946デフォルトの名無しさん
2006/09/12(火) 00:09:14スモールトーク?
後、言語の大枠の話と、いきなり演算子の表記の仕方を同列に
語ってるのも痛い。
己を知れって感じ。
0947デフォルトの名無しさん
2006/09/12(火) 00:12:10言語を知らないのに、言語の設計は出来ないと思う。
>>940がシステム作ってるとか思うと、本当にユーザーさんが
可哀想だと思う。
0948デフォルトの名無しさん
2006/09/12(火) 00:46:24> プリミティブな変数型を排除して純粋なオブジェクト指向にする。
メリットを言ってみて。
0949デフォルトの名無しさん
2006/09/12(火) 00:49:090950940
2006/09/12(火) 01:24:23自分はWeb系なんで他分野の方と感覚に大きなギャップがある事を見落としてしまいました。
確かに先の提案とDの思想では相反する事があるかもしれませんが、
本気で現場で使える言語にするなら人によってクセの出るような言語仕様ではいけません。
1プログラマのオナニー以上の存在になるにはもっとゼネラリストにスポット当てる事が重要です。
具体的には、
ある機能に対して言語を正規化して1つの事をやるには1つしか選択肢がない事が望ましいです。
組み込みの人には申し訳ないですが、
もはや職人芸に頼った成果は敬遠されてきてます。
パフォーマンスの事にしても、
Webの世界ではこの手の問題が出る時っていうのは
クライアントから金がむしりとれる絶好のチャンスなんですね。
なのでできるだけ小さい言語マニュアルで、
ライブラリのドキュメントさえ読めばすぐに使えるような環境を用意する事、
コードの集合体であるライブラリは疎結合を重んじる事、
サービスを中心に可能な限り抽象化したレイヤで要件が実装できる事。
これらを言語レベルでプログラマに押し付ける事ができればJavaを置き換える事も可能なのではないでしょうか。
0951デフォルトの名無しさん
2006/09/12(火) 01:28:06あとは他人がイイと思うかどうかだぽ
気にするな
0952デフォルトの名無しさん
2006/09/12(火) 01:39:38言い訳いらないから、まとめてみろよ。
言語の仕様ってのは、http://www.digitalmars.com/d/index.html
このサイトに書いてること全部が最低限だと思ってれば間違いないから、
これだけの定義を矛盾無く書いてみろよ。グダグダ言い訳するのはそれから。
書けるまでももうこのスレに来るな。スレ違いだ。
0953デフォルトの名無しさん
2006/09/12(火) 01:57:14> ある機能に対して言語を正規化して1つの事をやるには1つしか選択肢がない事が望ましいです。
現実的な言語であるD言語の主張によると、「なにごとにも例外があります」だそうです。
現実を例外なしのすっきりした規則でくくりだすことはできないっつーことですね。
表現できる世界が余計に狭くなるか、余計に複雑になります。
言語的な綺麗さで括り出すことによって取りこぼされがちな数多の例外を、
プログラマレベルで取り繕う羽目にならないように言語仕様に収めたものが、
D言語の理想だと思います。
> ある機能に対して言語を正規化して1つの事をやるには1つしか選択肢がない事が望ましいです。
というような厳しい制約は、汎用のプログラミング言語としては不適切なものです。
なぜなら、先に述べたように「表現できる世界が余計に狭くなるか、余計に複雑に」なるからです。
ある目的に特化した、つまり用途や環境を絞った言語ならばシンプルで綺麗な規則の
言語を設計できるのかもしれません。しかしD言語のような汎用の言語は、専用言語
のようにカバー範囲を狭くしたり単純にしたりすることで言語の綺麗さを得るのは、
かなり慎重にする必要があるでしょう。すくなくとも、
> ある機能に対して言語を正規化して1つの事をやるには1つしか選択肢がない事が望ましいです。
というようにばっさりやってしまうのはかなりの判断ミスだと思われます。
汎用の言語と、それによってカバーされるプログラムの世界の広さをもっと具体的かつ
実際的にまとめあげてからでないと、そのような未だない綺麗な言語を設計することが
可能であると主張することは難しいと思います。説得力の点で。
0954デフォルトの名無しさん
2006/09/12(火) 01:59:28「言語の上っ面の設計だけ」したい奴って言われたくなかったら、
もうちょっと納得のいく言い訳言ってみて。
0955940
2006/09/12(火) 02:02:26とりあえずスレ違いなんでどっかのwikiに移動します。
さようなら。
まとまったらリンクだけここにはっときますね。
0956デフォルトの名無しさん
2006/09/12(火) 02:05:07> キモい部分だけ
という発言が「上っ面」といわれる所以になってるのに気づけ
ノシ
0957デフォルトの名無しさん
2006/09/12(火) 02:09:40本来はプログラミング言語はメタ言語なんだから、
「ある言語で何かを表現したら、何かの意味を示している」
じゃなくて
「何かの意味を表現するために、ある言語で何かを表現している」
じゃん
だから
> 本気で現場で使える言語
とか
> パフォーマンス
とか
> できるだけ小さい言語マニュアル
とか
> ライブラリのドキュメントさえ読めばすぐに使える
とかいう表面の話で終わってるのがつらいね
0958デフォルトの名無しさん
2006/09/12(火) 03:35:06理想的にはコードとデータが等しい価値観をもつといいと思うけどLispは流行る気がしないし。
とにかくオブジェクトっていうデータ主体整理方法があるなら、
コード主体整理方法があってもいい良いきがするんだよねえ。
0959デフォルトの名無しさん
2006/09/12(火) 03:46:25OOPはデータ中心じゃないぞ
0960デフォルトの名無しさん
2006/09/12(火) 06:58:22誰かそろそろ新スレよろ
0961誰か
2006/09/12(火) 07:27:11D言語 Part10
http://pc8.2ch.net/test/read.cgi/tech/1158013550/
0962デフォルトの名無しさん
2006/09/12(火) 08:44:02oopを全然理解してないやん。
まずちゃんと学習してから妄想しようね。
0963デフォルトの名無しさん
2006/09/12(火) 10:05:56c++からOOP入ってるから構造体の中に関数入れているってイメージが強いのかも。
世の中もアルゴリズムよりデザインパターンみたいな風潮になっている気がするし。
>>962
色々勉強した結果にOOPはデータ主体のプログラム整理術だと結論づけたんだけど。
一言で否定されると悲しいな。
0965デフォルトの名無しさん
2006/09/12(火) 11:46:050966デフォルトの名無しさん
2006/09/12(火) 11:52:500967デフォルトの名無しさん
2006/09/12(火) 12:18:330968デフォルトの名無しさん
2006/09/12(火) 12:55:24ワロタ
0969デフォルトの名無しさん
2006/09/12(火) 14:16:19>データ主体のプログラム整理術
程度のものだろ
まあ、Java信者はそれじゃゆるせないみたいだけど
0970デフォルトの名無しさん
2006/09/12(火) 14:20:160971デフォルトの名無しさん
2006/09/12(火) 15:32:250972デフォルトの名無しさん
2006/09/12(火) 16:01:35何か問題がありますか市民?
0973デフォルトの名無しさん
2006/09/12(火) 19:27:00何も問題無いんですか市長?
0974デフォルトの名無しさん
2006/09/12(火) 20:50:350975デフォルトの名無しさん
2006/09/12(火) 21:18:300976デフォルトの名無しさん
2006/09/12(火) 21:44:32とりあえず埋めますか
0977デフォルトの名無しさん
2006/09/12(火) 22:12:390978デフォルトの名無しさん
2006/09/12(火) 22:13:080979デフォルトの名無しさん
2006/09/12(火) 22:36:380980デフォルトの名無しさん
2006/09/12(火) 23:18:08なんか、かなり視野せまくね〜? つうかウサンクセ〜
0981デフォルトの名無しさん
2006/09/12(火) 23:29:510982デフォルトの名無しさん
2006/09/13(水) 00:27:05ああ。うっかり飲みこむところだったぜ・・・アブネェアブネェ
0983デフォルトの名無しさん
2006/09/13(水) 00:38:33| ノ ヽ /
/ > < |/ そんな餌パクッ
| //// ( _●_)/ミ
彡、 l⌒l ノ
/ __ \ \ヽ
. (___) \__)
. O| /
| /\ \
| / ) )
∪ ( \
\,,_)
0984デフォルトの名無しさん
2006/09/13(水) 00:45:470985デフォルトの名無しさん
2006/09/13(水) 00:53:18とりあえず埋めますか
0986デフォルトの名無しさん
2006/09/13(水) 02:27:060987デフォルトの名無しさん
2006/09/13(水) 05:05:120988デフォルトの名無しさん
2006/09/13(水) 08:51:110989デフォルトの名無しさん
2006/09/13(水) 09:16:57該当するC/C++スレに移動してください。
0990デフォルトの名無しさん
2006/09/13(水) 10:27:080991デフォルトの名無しさん
2006/09/13(水) 12:52:50ZapZapZap!!
0992デフォルトの名無しさん
2006/09/13(水) 14:21:00D言語 Part10
http://pc8.2ch.net/test/read.cgi/tech/1158013550/
0993デフォルトの名無しさん
2006/09/13(水) 15:57:540994デフォルトの名無しさん
2006/09/13(水) 15:59:140995デフォルトの名無しさん
2006/09/13(水) 16:14:270996デフォルトの名無しさん
2006/09/13(水) 17:14:170997デフォルトの名無しさん
2006/09/13(水) 17:28:180998デフォルトの名無しさん
2006/09/13(水) 17:33:440999デフォルトの名無しさん
2006/09/13(水) 17:38:121000デフォルトの名無しさん
2006/09/13(水) 17:40:38*'``・* 。
| `*。
,。∩ *
+ <`∀´> *。+゚
`*。 ヽ、 つ *゚* イルボンになる魔法を〜♪
`・+。*・' ゚⊃ +゚
☆ ∪~ 。*゚
`・+。*・
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。