[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 09:42 / Filesize : 63 KB / Number-of Response : 304
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

D言語 Part14



1 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:10:24 ]
プログラミング言語 D について語るスレッドです。
過去スレは >>2

■本家
ttp://www.digitalmars.com/d/
ttp://www.kmonos.net/alang/d/ (和訳)

■コンパイラ
ttp://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
ttp://dgcc.sourceforge.net/ (GDC, gccフロントエンド)
ttp://gdcmac.sourceforge.net/ (GDCのmac用バイナリ)

■参考URL
ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
ttp://dsource.org/ (dsource)
ttp://www.sun-inet.or.jp/~yaneurao/dlang/
ttp://wisdom.sakura.ne.jp/programming/d/


254 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 19:28:40 ]
個人的には入出力関係はTangoの方が好きかなぁ
コンテナ(コレクション)についてもTangoがほしいね
あと、ゆくゆくはTangoでXMLもいじれるようになりそう

255 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 19:31:31 ]
ようやくTango1.0が出そうかなっていうときにもうD2.0だもんなぁ・・・・

256 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 19:47:39 ]
D2.0ってなにそれはおいしいの?
と思う俺とForeachRangeStatementが2.0だけってことはそろそろ対応お願いしますという
Walterタンの無言の意思表示なのではと思う俺と…

257 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 21:09:52 ]
もうv1はバグフィックスだけだろ。
美味しい機能《えさ》はv2にしか提供されない。

258 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 21:52:10 ]
そもそもTangoが標準になるって発言元はどこなんだぜ?

259 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 22:17:02 ]
>>258
Tango製作陣からじゃないの

260 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 23:43:00 ]
まぁTangoのほうがモノが良いなら自然に置き換わっていくんじゃね?

261 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:04:50 ]
どっちかが完全に上位互換ならうれしいんだけどね。
混在できたっけ?

262 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:23:12 ]
>>261
無理じゃなかったっけ。前に似た話出てた気がする。
もともと置換を目的に作られてるしなあ。

つか本当に>>255に同意。
なんでここで互換性ないバージョンとか出して既存ライブラリぶっちぎれるのかと。
Phobosお話になんねー、みたいな声はウォルたんに届いてないんだろうか。



263 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:51:04 ]
ウォルタ「いや、他にやりたいことあるし…」

264 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:17:57 ]
ウォルタ「ライブラリのためにDを止めたくないのくらいわかってくれるだろ」

265 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:29:21 ]
ウォルタ「ライブラリが追随すればいいだろwwwww更新おせーんだよwwww」

266 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:41:46 ]
ウォルタ「俺の勝手だろwwwwwwwwwwef9swccnj3」


267 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:44:39 ]
普遍条件にinvariant()って括弧がいるのはどうにかならんかなあ。
見た目が悪すぐる

268 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 08:36:17 ]
>>267
気にしすぎじゃね?
>>240あたりの理由で()付じゃないとダメだという可能性は?

269 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:03:23 ]
ウ「本来のあるべき姿を追い求めた結果だから仕方ないだろ」


270 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:19:19 ]
まぁdmd2.0のFinal Const Invariantの導入があるから整合性のために仕方がないよ。
struct{
final    {int     final_hoge = 0;}
const    {int     const_hoge = 0;}
invariant{int invariant_hoge = 0;}
}
これでinvariantだけ定数の宣言じゃなくて不変条件になると違和感が漂いすぎるし。


271 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 12:25:29 ]
unittestにあわせて、ちょっと長いけどinvarianttestとかにしてくれりゃいいのに。

272 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:05:21 ]
ちょっとD触ってみたんだけど試してみたいことがあってサンプルコード探して動かしてみようとしたら動かない、とかデフォ?
メッセージボックスに日本語出力するだけですげー時間かかって泣きそうだったわ

あとみんなは開発環境何使ってるの?
Eclipse+Descentでやってたらソースにエラーの赤線引いてあるけど見た目どこも問題ないしコンパイル通るし動作するしで微妙だった



273 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:11:49 ]
>>272 D2.0系だとサンプルコードってほとんどないんじゃないかな
今公開されてるサンプルコードって大半がD1.0時代のものだと思う(しかも今のD1.0系で動くとも限らない)
少なくとも日本語の文書においては

274 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:22:34 ]
>>272
まだまともなIDEはないから、俺は普通のテキストエディタで書いて、コマンドラインからビルドしとるよ。

275 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:24:11 ]
俺も>>274と同じくコマンドライン(というかバッチファイル作ってダブルクリック)
ポセイドンとかどうなんだろ?

276 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:47:28 ]
>>273
そーなんか
とりあえず1.0系インスコしたんだけどみんな2.0系使ってるの?
2.0系って正式リリースされてないよね?

>>274-275
そーかー
Code::BlocksとPoseidonも使ってみるよ
コード補完がないとソース書いててだるい気がするしね

277 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:00:11 ]
>>276
正式リリースなんて飾り。

278 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:09:37 ]
>>276
バージョンが0.001増えるだけで、大幅な書き直しを余儀なくさせられる言語。それがD

279 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:31:15 ]
バージョンアップしたらHello, woldさえコンパイル通らなくなったときは泣きそうになった

280 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:31:53 ]
書きまつがえた

281 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:54:14 ]
>>276
予約語以外までまともにコード補完できるIDEなんてまだないかと

>>279
これのことかな s/stdout/dout/g
import std.cstream;
void main() {
stdout.writefln("Hello, world!"); // 古いコード
}

歴史は繰り返す(Tango)
Cout(Hello, world!").newline;

282 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:15:35 ]
cout << "Hello, World!" << endl;
とC++みたいに出力できるのを作ったことがあるがマニピュレータ周りでモチベーションが切れて終了



283 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:24:48 ]
coutなんて飾りです

284 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:46:27 ]
doutとかs(td)outとかじゃないのか

285 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 23:12:09 ]
>>282
C++のストリームの記法が便利だと思ったことは一度も無いな

286 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 23:28:32 ]
つかC++形式の利点って何なの?
たぶんCのprintfが非型安全だから作られたんだと思うんだが、Dだと型安全な可変個引数関数が作れるわけで。

287 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 00:18:06 ]
型安全、拡張可能、フォーマット文字列の解析が不要ってとこか
その代償として、寄せ、桁、精度、基数等の指定が必要な場合の
記述が面倒くさすぎ

ぶっちゃけ拡張可能性という面でもstreambufが継承可能であることが
重要で、入出力演算子なんてただのオモチャだと思ってる

288 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 00:32:35 ]
tangoの方間違ってたらすまん
phobosのwriteflnの方がピンと来るのは俺だけ?
tangoのはどうなんだこれ
CoutとStdoutの使い分けとか必要なのか?

string hoge = "hoge", HOGE = "HOGE";
int a = 10, b = 20;
//phobos
writefln(hoge, a, "[%s%d]", HOGE, b);
//tango
Cout(hoge)(a)("[")(HOGE)(b)("]").newline;
Stdout.formatln("{}{}[{}{}]", hoge, a, HOGE, b);


289 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 05:32:21 ]
Coutキタナッ

290 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 06:20:23 ]
tx好きー。

291 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 06:44:43 ]
Code:Blocks使ってみた
入力補完させよーとするとC++かなんかの予約語を補完してくださった

Poseidon使ってみた
日本語表示もできるし予約語の補完もできるし自分で書いたメソッドの入力補完もできるっぽい ちょっと幸せ
でもエディタの挙動とか配色がキモい たぶん変更できるんだろうけどまだあんまし触ってない

292 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 07:24:56 ]
writefln で十分だな。



293 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 08:07:31 ]
printfで十分だ

294 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 08:33:23 ]
うむ
C++ ライクな入出力ストリーム表記はどうにも好きになれん

295 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 09:13:18 ]
型安全であることと、色んなもんに出力できるという点は評価できるが、
printf ライクにそれを行うことも可能なわけで。

296 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 15:42:56 ]
>>288
tangoはこれならstd::coutのほうがましだな

297 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:23:02 ]
正直、これ位の簡易な実装で俺は良いんだけどなぁ。
void main(){
  println(2,' ',3,' ',4);
}

static import std.string,std.stdio;
alias std.string.toString toString;
string toString(string x){return x;}
string toString(Object o){return o.toString;}
//構造体とか配列とか連想配列とかも同じノリで定義

void println(T...)(T x){
  foreach(v;x){
    string r = toString(v);
    std.stdio.fwrite(r.ptr,1,r.length,std.stdio.stdout);
  }
  std.stdio.putc('\n',std.stdio.stdout);
}


298 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:26:37 ]
結局型安全にした printf ライクなものが一番だよね。

299 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 19:43:44 ]
writeflnに慣れすぎて手放せなくなってる

300 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 21:48:15 ]
誰かD1.0を擬人化してみてくれ

301 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 21:52:16 ]
>>300
pc11.2ch.net/test/read.cgi/tech/1098953121/

302 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 22:08:16 ]
>>297
それでprintf("%08X", n);
とかはどうやりますか?



303 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 00:20:21 ]
>>300
1.0限定かよ






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

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

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