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


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

D言語 Part28



1 名前:デフォルトの名無しさん mailto:sage [2011/08/24(水) 06:02:12.35 ]
プログラミング言語 D (D Programming Language) について語るスレッドです。

■前スレ
D言語 Part27
hibari.2ch.net/test/read.cgi/tech/1303022487/

■本家
www.digitalmars.com/d/
www.d-programming-language.org/ (ドキュメント)
www.kmonos.net/alang/d/ (和訳)

■コンパイラ
www.digitalmars.com/d/dcompiler.html (DMD, 本家)
dgcc.sourceforge.net/ (GDC, gccフロントエンド)
www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)

■参考URL
f17.aaa.livedoor.jp/~labamba/ (D言語研究)
f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
dsource.org/ (dsource)
tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0)
www.kmonos.net/alang/wnd/ (わかったつもりになるD言語)
shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか)
shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座)
www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
dusers.dip.jp (D言語友の会)
www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)

524 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:24:46.37 ]
stripしちゃらめえええ

525 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:37:22.61 ]
extern (C) void printf(in char* format, ...);
void main() { printf("Hello World.\n"); }

2.056でこれだと 154kB
phobosはかさばるなぁ

526 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:41:27.65 ]
Windowsバイナリcygwinでstrip出来ないんだけどみんなそう?

527 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 19:14:20.57 ]
GCついて200KBとかならまだ納得いったがさすがにこれは無いわ

528 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 19:34:39.63 ]
よくわかんないけどこれって Phobos がテンプレート使いすぎてこうなったりしてんの?
薄いテンプレートイディオムで書き直せば改善されたりしないかな。
std.datetime のコード量もカオスだし・・・。

529 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 20:24:11.81 ]
すまん>>518なんだが、2.056だったわ

少し前のレス読むと2.055→2.056で急に増えたっぽい
何があったんだろう

530 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 01:11:10.66 ]
HelloWorld1MBワロタ
Dは飽きさせないな

531 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 14:15:42.16 ]
> HelloWorld 1MB
2.054 -> 2.055 で std.uniに巨大なテーブルが追加されている。
おそらくwritelnがこれを取り込むのでexeサイズが大きくなっている

532 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 14:17:27.77 ]
>ファイルからでデータを読んでbyteの配列に格納しようとしたら、 メガバイト級のコードが読み込まれた、 という事態は避けたいものです
^^;



533 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 19:42:10.71 ]
マクロまだー?

534 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 03:16:48.17 ]
D1が消えます

535 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 17:33:32.46 ]
2.057出たね

536 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:38:15.43 ]
変更点。中の人は本当に乙
dusers.dip.jp/modules/forum/index.php?topic_id=108

537 名前:デフォルトの名無しさん [2011/12/14(水) 18:55:11.51 ]
enumでinit出来たのか・・・

538 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:55:22.43 ]
例のswitchのはまだまだか

539 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:56:20.11 ]
単にint型のenumを作って
列挙子initをint.initで定義してるだけだな
まあ確かにできるけどw

540 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 19:14:56.85 ]
enumで思い出したけど
どうせならenumの全メンバをforeachで回させてくんないかな
valuesみたいなプロパティがあればいいんだが

541 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 19:25:57.64 ]
>> 540
std.traitsにEnumMembersがある

542 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 19:42:50.78 ]
>>541
そんなのがあったのか
thx



543 名前:デフォルトの名無しさん [2011/12/14(水) 20:51:37.93 ]
>std.regex.replaceに破壊的変更
Yeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaahhhhhhhhhhhhhhh!!!!!!

544 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 21:07:19.34 ]
マゾが多いなw

545 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:21:15.01 ]
www.phoronix.com/scan.php?page=news_item&px=MTAyNzI
New Features Approved For Fedora 17

D2 programming language support.

546 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 00:41:43.74 ]
Change LogでBreaking changeが赤文字になってて吹いた

547 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 01:31:58.13 ]
あれ? std.intrinsic どこ行った・・・?

548 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 02:44:08.62 ]
さよならTango

549 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 02:44:36.08 ]
そろそろD2を固定してもいいんじゃないか

550 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 02:56:21.67 ]
マゾが多いな

551 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 07:10:08.79 ]
D3はまだか…

552 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 11:45:55.95 ]
>>547
モジュールとしてはすでにdeprecated, 置き換え先はcore.bitop
Documentからリンクが消えたのは、たぶん間違えて消しちゃったんじゃないかな



553 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 13:02:33.06 ]
>>552
thx

554 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:12:09.44 ]
WindowsAPIのHANDLEはaliasとenum、どちらがいいんだろうか

555 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 21:13:17.44 ]
intptr_t的なものがいいんじゃね?

556 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 21:22:17.91 ]
alias intptr_t HANDLE;
かな、普通に考えると

557 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 21:42:50.13 ]
配列を戻り値にする関数で最後にuniqを使いたいんだけど

int[] func() {
 int[] values;
 // ...
 return uniq(values);
}

uniqの戻り値って配列じゃないんだよな
というかrange絡みの関数は全体的にそんな感じだ
どうすればいいのやら

558 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:53:09.06 ]
uniq(values);
return values;

559 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 23:18:30.31 ]
だめだった

560 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 23:58:46.01 ]
std.array.array

561 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 00:35:09.07 ]
そっちか!Thx

562 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 00:13:18.38 ]
@safe pure nothrowたん・・・(*´Д`*)ハァハァ



563 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 00:15:53.63 ]
@政府 うあ 野田たん・・・(><)

564 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 02:38:12.30 ]
@trustedをつけてまわるだけの簡単なおしごと

565 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 03:05:58.78 ]
なんでAppenderはpureじゃないの

566 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 22:25:57.35 ]
throwする可能性があるからじゃ?

567 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 23:39:33.94 ]
これ1になるんだけどそういうもん?

ttp://ideone.com/WULc0



568 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:19:15.32 ]
aaA見たけどわかんね

569 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 01:14:34.46 ]
>>567
おてんとうさまがゆるしても
おれがゆるさねぇ

570 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 02:48:56.13 ]
あれ?pureとnothrowは直交してないのか?

571 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 15:58:11.56 ]
>>567
ある意味正しい。

> hoge["fuga"] = hoge.length
左辺の評価でまずkey="fuga"のエントリが確保され、この時点でhoge.length==1になる
その後確保されたエントリにhoge.lengthの評価結果(==1)が設定される。

*(p++) = *(p++)とかと同じようなもの

572 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 16:02:41.35 ]
>>565
GC関連の関数を内部で直接呼んでいるため。
言語としてはnew式はpure扱いだが、ランタイムのGC関数がpureであるべきかは
newsgroup上の議論でも明確な結論が出てなかったと思う。



573 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 16:04:05.33 ]
>>570
直交している。Appenderがpureでない理由は>>572の通り。

574 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 20:20:35.80 ]
>>571
なるほど納得した

575 名前:デフォルトの名無しさん [2011/12/21(水) 00:17:01.32 ]
直感的にはhoge.set("fuga", hoge.length);みたいな評価順の方が嬉しいかな

576 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 00:40:50.28 ]
アセンブリ想像出来てれば直感的だし今のでいいと思うけど

577 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 00:43:41.69 ]
右辺で例外が起きたらと考えると、怖いな

578 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 01:27:27.23 ]
opIndexAssign( "fuga", hoge.length )
こんなオーバーロードないんだっけ?

579 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 01:36:45.52 ]
>>577
assert(笑);

580 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 01:50:49.40 ]
>>577
STLのコンテナでfront()とpop()が分かれてる理由系の話だね
ideone.com/rBvF3

581 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 17:13:59.45 ]
D1系のアップデート見てて思ったんだけど
CTFEできる範囲って仕様で明確化されてるの?

仕様に沿ったコンパイラでCEFEのせいで
コンパイルできる事とできない事があるってのはとても困る気がする

582 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 17:17:28.83 ]
pureなものじゃない?
今@pure付けられる範囲をどんどん広くしていってる気がする



583 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 02:24:56.04 ]
@safeならCTFEできる、ってのもあったような。

584 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 13:21:42.68 ]
ぶっちゃけ、大抵のプログラムは、C#なりPythonなりHaskellなりGoなりの高級言語を使えばよくて、
わざわざ「Cに代わる低級言語」を持ち出す必要はない

一方で、本当にC言語に取って代わろうとするなら、
高級言語を持ち出せない、プアな環境で使えないといけない

・ポインタ演算は手放せない
・GCは使えない
・ポリモーフィズムも使えない
・テンプレートも容量を食い過ぎる
・正規表現を実行時にコンパイルするのは贅沢すぎる
・標準ライブラリーが充実させても意味が無い
・標準でないアーキテクチャをサポートしなければならない

それなら、C言語で十分じゃない?

文字列型?ハッシュマップ?サードパーティ製のを使えばいい

ドキュメント自動生成なら、言語仕様を変更しなくても、Pythonとかでツールを作ればいい

Cのシンタックスがキモいとか、Lisp風マクロとかが欲しいと言うのなら、
JavaScriptに対するCoffeeScriptみたいな物を作ればいい

585 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 13:26:14.29 ]
哀れなD使い達を説得しにきたの?

586 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 14:35:57.36 ]
あちこち手を伸ばしすぎて
かつて売りにしてた機能まで潰しまくる迷走ぶりについては認める

587 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 14:56:03.70 ]
ttp://www.kmonos.net/alang/d/2.0/builtin.html

588 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 16:41:48.27 ]
複素数…

589 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 22:25:33.38 ]
typedefってなんで消えたの?
あの超シンプルに型を作れるところが気に入ってたんだけど

590 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 23:06:14.50 ]
基本的にマクロみたいな機能は無駄です

591 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 09:28:03.36 ]
それってaliasのこと?

592 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 10:52:52.35 ]
alias は便利だけど危うさが漂う
もうちっと機能を狭めてもいい



593 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 11:15:18.32 ]
>>590
そんなんじゃ「そうじゃねーよ俺は便利に使ってんだよ」と反論できちまう
せめて「typedefあるとコンパイラの実装が超大変になるんだよ、わかれよ」くらい言ってほしい

594 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 11:43:45.05 ]
strong typedefはまともにやるとめんどくさいからな。
t f(t, t)って関数があってtからuを新たに作ったときに、t f(u, t)として使えるのが正しいのか
t f(u, u)が正しいのかu f(u, u)が正しいのか。

595 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 12:11:48.42 ]
ユーザ定義リテラルがあれば
複素数をビルトイン型にしなくてもいいような気もする
(パフォーマンス的には分からんが)

596 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 12:14:25.88 ]
>>594
やっと納得した
uがどこまでtか微妙なのが仕様的に面倒なのね

あれ、でもenum…

597 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 12:56:34.72 ]
>>595
複素数がライブラリに移動したときにその話はあった
結論から言うとcomplex型とimaginary型を併用することでパフォーマンス的にも問題なく解消する
ただし記述が面倒だからユーザー定義リテラルが必須

598 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 19:54:02.30 ]
ユーザー定義リテラルを入れたいから複素数リテラルをなくしたのか?
ユーザー定義リテラルを入れなくても、複素数リテラルがあれば、複素数についてのパフォーマンスは元々解決されていたんでしょう。
なくす必要性がまだ見えないんだよね

599 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 20:07:50.18 ]
コンパイラ組みこみじゃなく、
ライブラリの存在を前提としたシンタックスシュガー化するということかと。
Dならstring→immutable char[]が似ているし、
C#のstringはSystem.Stringの別名だ(と思う)し。

600 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 20:17:25.54 ]
ユーザー定義リテラルって何ぞ・・・? ガクガクガタガタ

601 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 20:19:04.64 ]
C99が複素数を言語組み込み、C++が複素数をライブラリ提供してるけど
gccはバイナリ互換性を持たせるために、「コイツは内部的に複素数だ」ってpragma用意してるよね。

Dの複素数もC99の複素数とバイナリ互換性を持ってるはずだが、ライブラリ版はどうなってるんだろう。

602 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 03:55:23.75 ]
>>599
そうするのはなぜだか知ってますか?
ユーザー定義リテラルを導入するならば複素数だけ優遇する必要がないから?



603 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 04:15:55.26 ]
octal!100はどうするんだよ…。
octだったかな

604 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 12:14:29.54 ]
dlang.org てのがまた出来てる
こっちに移るんかな

605 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:11:57.58 ]
当面の間はミラーリングして様子見じゃないの

606 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 01:33:27.78 ]
const(char[])がconst(char)[]に暗黙変換されるようになったんだってな。なんか不具合出ないのかな

607 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 07:19:58.60 ]
仕様も見ずに言うけどref引数だと変換されないんだよね?

608 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 20:31:46.19 ]
ちょっと生理させてくれ

const(char)[]:中身を書き換えられない配列
const(char[]):?? Cのchar a const[] ?? いやそれじゃchar a[]と同じか

609 名前:デフォルトの名無しさん [2011/12/26(月) 23:07:10.07 ]
const(char[]) a, b;
a = b;
が出来ないんじゃなかった?

610 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 23:17:27.56 ]
・・・えっち

611 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 02:56:23.39 ]
月桂冠

612 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 08:42:56.37 ]
厶板ではここが一番落ち着く



613 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 11:50:14.46 ]
わかるわ
俺もD言語に全く興味ないのに覗いてるしな

614 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 12:05:34.60 ]
あれ、俺がいる

615 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 13:37:36.63 ]
逃げない奴はよく訓練されたD言語erだ

616 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:03:32.31 ]
D言語が落ち着くまで待ち続けるぜ

617 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:08:22.82 ]
UFCSとラムダ式が入るらしい
まだまだ若者には負けんよ

618 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:21:05.99 ]
UFCSって何?

619 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:22:04.16 ]
Windows版64bit対応くらいしてくり

620 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:23:30.80 ]
Universal Fire Contol System

621 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:47:40.01 ]
これで敵軍も拾った武器で戦えるようになるね! っておい

622 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 10:39:17.88 ]
2.057でもHello, World1MBのまま?



623 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 13:05:42.51 ]
import std.stdio;
void main() { writeln("hello, world."); }

↑に -O -relese -inline 付けて
933404byte=911.5kbyteだった

624 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 14:06:17.81 ]
クソだな






[ 続きを読む ] / [ 携帯版 ]

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

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