トップページ⇒tech
1001コメント241KB

D言語 Part29

■ このスレッドは過去ログ倉庫に格納されています
0001D1はオワコン2012/02/20(月) 14:05:31.03
プログラミング言語 D (D Programming Language) について語るスレッドです。

■前スレ
D言語 Part27
http://toro.2ch.net/test/read.cgi/tech/1314133332/

■本家
http://www.d-programming-language.org/
http://www.kmonos.net/alang/d/ (和訳) 最終更新 2011年2月頃
http://d.puremagic.com/issues/ バグ報告

■コンパイラ
http://www.d-programming-language.org/download.html (DMD, 本家)
http://bitbucket.org/goshawk/gdc/wiki/Home (GDC, gccフロントエンド)
http://www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)

■参考URL
http://dusers.dip.jp (D言語友の会)
http://prowiki.org/wiki4d/ (Wiki4D)
http://dsource.org/ (dsource)
0002デフォルトの名無しさん2012/02/20(月) 14:07:12.79
■参考URL その2
http://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
http://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
http://www.ku6.jp/keyword6/1.html (SDLのポーティング 最新)

■ IDE
http://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks)
http://www.dprogramming.com/entice.php (Entice Designer)
http://www.dsource.org/projects/descent (Descent) DDTへ移行
http://www.dsource.org/projects/poseidon (Poseidon)
http://code.google.com/a/eclipselabs.org/p/ddt/ (DDT)
http://www.dsource.org/projects/visuald (Visual D)
0003デフォルトの名無しさん2012/02/20(月) 14:07:58.46
■書籍
The D Programming Language (TDPL)
D言語パーフェクトガイド ※賞味期限切れ

■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000

■その他関連スレ
統合開発環境Eclipseプラグイン開発QA
http://pc11.2ch.net/test/read.cgi/tech/1081517094/ (dat落ち)

"Code of the Nerds" Digital Mars C/C++
http://toro.2ch.net/test/read.cgi/tech/1044210976/
0004デフォルトの名無しさん2012/02/20(月) 14:09:10.00
URL 多すぎるのか規制がうるさい
古い奴はばっさり消毒だーーーーー
0005デフォルトの名無しさん2012/02/20(月) 20:08:27.75
hぬきで
ttpにすればいいのに
0006デフォルトの名無しさん2012/02/23(木) 01:40:10.27
http://dusers.dip.jp/modules/forum/index.php?topic_id=109#post_id413
>生成バイナリの浮動小数点計算のパフォーマンスが2.057のものと比較して大きく変わっているようです。
>2coreのx86マシンでは3倍近く上昇しましたが、一方8coreのAMD64機では半減致しました。
>共にwindowsマシンですがレジスタ周りで何かしら改修があったのでしょうか?

昔書いたベンチマークソフトの結果がまるっきり変わっててワロタ
ソースどころかパフォーマンスまで破壊的変更とは
0007デフォルトの名無しさん2012/02/23(木) 10:26:41.49
import std.stdio;void main(){ writefln();}これコンパイルすると出てくるエラーってどうしてライブラリ側でのエラーの位置なの?
0008デフォルトの名無しさん2012/02/23(木) 10:27:10.97
import std.stdio;void main(){ writefln();}これコンパイルすると出てくるエラーってどうしてライブラリ側でのエラーの位置なの?
0009デフォルトの名無しさん2012/02/23(木) 11:59:34.27
テンプレートの中で出るエラーだから

test.d(1): instantiated from here: writefln!()
これが出てる分だけマシな方だと思う
0010デフォルトの名無しさん2012/02/23(木) 15:43:34.91
import std.stdio;
enum HELLO = () => std.stdio.writeln("hello");
enum main = () => HELLO();

もう少しでこれが通りそうなんだが
0011デフォルトの名無しさん2012/02/23(木) 16:35:06.54
JavaScriptみたいに、普通の関数宣言の構文がいらない子になってきてるな……。
0012デフォルトの名無しさん2012/02/23(木) 20:51:51.97
>>10
見事な変態に育ったなぁ
0013デフォルトの名無しさん2012/02/24(金) 00:35:42.85
enumとかisとか何だよ ってたまに突っ込みたくなる
0014デフォルトの名無しさん2012/02/24(金) 00:55:30.09
http://d.hatena.ne.jp/nitoyon/20110929/async_await_in_js
これDでも書けるかなあ
0015デフォルトの名無しさん2012/02/24(金) 02:08:59.41
forkるんだ
0016sage2012/02/24(金) 08:43:23.04
>>9そうなんですか。ライブラリ側のエラーの行数が出てきてもデバッグし難いですね
0017デフォルトの名無しさん2012/02/24(金) 10:28:15.56
日本人夫婦から治療費5千万円詐取容疑 韓国人の女逮捕

韓国のソウル地方警察庁は23日、知人の日本人夫婦にソウルの病院を紹介し、実際の数倍の
治療費を夫婦に請求して約7億ウォン(約5千万円)をだまし取ったとして、韓国人の女(36)を詐欺などの疑いで逮捕したと発表した。

 同庁によると、女は宮崎県でネールアート店を経営。知り合った老夫婦に「待たずに手術を受けられる」などとソウルの病院を勧め、
昨年5月までの約1年間、病院の領収書を偽造して夫婦に請求し、差額をだまし取った疑いがある。

警察によると、女は容疑を認めているといい、ほかに被害にあった日本人がいないか調べている。
http://www.asahi.com/international/update/0223/TKY201202230625.html
0018デフォルトの名無しさん2012/02/24(金) 10:50:38.91
複数行のラムダ式が折り畳み出来ないエディタなんて
小学生までだよね〜☆
0019デフォルトの名無しさん2012/02/25(土) 17:45:11.14
class A {
static enum createInstance = () => new A();
private this() { assert(false); }
}
void main() {
auto a = A.createInstance();
}

ラムダで Singleton をやろうとしたら
コンストラクタが呼ばれないでござる
0020デフォルトの名無しさん2012/02/25(土) 18:10:53.09
enumにそんな使い方あったのか
0021デフォルトの名無しさん2012/02/25(土) 18:40:07.71
static enum createInstance = (){ return new A(); };

2.057 ではこの形をはじいている。緩和された? それともバグ?
0022デフォルトの名無しさん2012/02/25(土) 18:45:54.12
前はそれだと問答無用でdelegate(=コンパイル時値ではない)になる
今は関数部の中身によってfunctionかdelegateか判別してくれるんじゃなかったかな
0023デフォルトの名無しさん2012/02/25(土) 19:12:18.80
なるほど こんな効果もあるのか
0024デフォルトの名無しさん2012/02/26(日) 03:39:45.36
そういえばアイマスのキャラが 'Der変態' って言ってた
0025デフォルトの名無しさん2012/02/26(日) 15:41:33.37
>>24
ようやく意味が分かった
0026デフォルトの名無しさん2012/02/28(火) 11:41:43.98
いっつも構造体ポインタから当たり前のようにドットつなぎでメソッド呼び出してて
その構造体にopIndex定義して、
当たり前のようにポインタにp[i]みたいにやったらポインタ演算に間違われた
0027デフォルトの名無しさん2012/02/28(火) 14:53:04.31
TLS
http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E5%B1%80%E6%89%80%E8%A8%98%E6%86%B6

だれかドヤ顔で書いてやって
0028デフォルトの名無しさん2012/02/28(火) 17:15:28.12
>>26
(*p)[i]
0029デフォルトの名無しさん2012/02/28(火) 23:58:12.51
あれ?TLS前見たときにはDあったような・・・気のせいか
0030デフォルトの名無しさん2012/02/29(水) 20:00:17.78
D2+Win32APIの勉強してたつもりが
github.com/kos-/MultiWS

DLLの共有セクションってdmdでどうやるのでしょう
0031デフォルトの名無しさん2012/02/29(水) 20:23:53.02
http://ideone.com/gGFyS
設計が悪いと思うんだけどどうすりゃいいの?
0032デフォルトの名無しさん2012/02/29(水) 23:57:26.78
>>31
1. opApplyをconstメンバ関数にする
2. Barのコンストラクタで foo = new Foo;とかする
0033デフォルトの名無しさん2012/03/01(木) 00:00:18.63
opApplyの実装しだいでforeach文自体が副作用を伴う場合もあるということか
なんかこえー
0034デフォルトの名無しさん2012/03/01(木) 03:23:53.36
>>30
shared か __gshared
ttp://www.kmonos.net/alang/d/2.0/migrate-to-shared.html#shared
と synchronized
ttp://www.kmonos.net/alang/d/2.0/statement.html#SynchronizedStatement

>>33
や、そうならないために const 付けてねっていう話では?
0035312012/03/01(木) 21:40:58.27
自分のクラスならconst付けるだけていいんだけどphobosはそうもいかないよね
-Foo foo;
+Stream foo;
0036デフォルトの名無しさん2012/03/01(木) 22:11:33.46
むしろStream系はメンテすらされてないんじゃ・・・
0037デフォルトの名無しさん2012/03/01(木) 22:14:24.22
代わりに何を使えばいいんですか?
0038デフォルトの名無しさん2012/03/02(金) 00:24:15.69
std.regex.match("", r"^$").empty == true
になるんだけど、なんで?

Rubyだと "" =~ /^$/ でヒットするのに
0039デフォルトの名無しさん2012/03/02(金) 13:20:05.50
nothrow宣言ってなにが得するんですか?
いまいちわからないんですが・・
0040デフォルトの名無しさん2012/03/02(金) 16:30:10.00
Javaばりに投げる例外がメソッドの型として影響すれば意味があるけど、
現状ただの目安だな。
0041デフォルトの名無しさん2012/03/02(金) 17:27:49.22
>>38
goto バグ報告

>>39
TDPL によると絶対に例外を投げてはいけない処理の中で
安心してその関数を呼べることの保証

契約プログラミングの位置づけに見える
0042デフォルトの名無しさん2012/03/02(金) 17:33:40.08
なるほど契約ですか。
普段からあんまり契約文書いてなかったから分からなかったなあ
0043デフォルトの名無しさん2012/03/03(土) 21:07:42.86
配列の先頭を削除する時
a = a[1..$];
してるんだけどもっと綺麗なやり方あるます?
0044デフォルトの名無しさん2012/03/03(土) 21:10:21.34
import std.array;して
a.popFront;とか?
いややってることは、まったく変わらないんだけど
0045デフォルトの名無しさん2012/03/03(土) 22:13:27.65
>>44
�d�d
中見たらやってることが変わらないどころか配列名も含めて完全に一致してて吹いた
0046デフォルトの名無しさん2012/03/03(土) 23:15:47.04
リングバッファでも実装したら
0047デフォルトの名無しさん2012/03/04(日) 00:02:21.30
a[0 .. $-1] = a[1..$]; a.length -= 1;
とか?
0048デフォルトの名無しさん2012/03/04(日) 00:47:34.87
いやいや読みにくいやん読みにくくなってるやん
0049デフォルトの名無しさん2012/03/04(日) 01:37:18.66
昔のスレ読んでたら予言者発見した

D言語 Part14
http://pc11.2ch.net/test/read.cgi/tech/1184807424/211

211 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/08(水) 02:41:25
デリゲートリテラルの引数の型を推論できるようにならんかなあ。

void func(int delegate(int) dg);

func( (i) { return i * 2; } );
とか、願わくば
func(i => i * 2);
とか書きたい。
0050デフォルトの名無しさん2012/03/04(日) 14:51:08.23
別に予言でも何でもないような気が・・・
C# 3.0 (2007年) のラムダ式が欲しいっていう
普通のレスじゃないの?
0051デフォルトの名無しさん2012/03/04(日) 16:50:21.57
与言じゃなくて欲言
0052デフォルトの名無しさん2012/03/06(火) 21:40:01.17
急にボタンがきかなくなる現象ってなんだろう。
たくさんボタンがあって、ムービークリップもあって
きかなくなる。
マウスはヒドゥンにして、ムービークリップオブジェクトを
カスタムマウスよろしくポインタをフォローミーさせとる
なんかシンボルを作り直すと直ったりするんだけど
本当に意味不明だよ。アクションスクリプトを何度もみかえしてみても
全然変じゃないしコンパイルも通る。へんな出力もされない。
ステージによみこむときのジェイペグやジフファイルの
ファイル名が全角だったりするとバグるのだろうか?

この現象と対処方法、解決方法を上手く説明できる人おる?
0053デフォルトの名無しさん2012/03/06(火) 21:44:48.50
急
た
き
マ
カ
な
本
全
ス
フ

こ
0054デフォルトの名無しさん2012/03/06(火) 22:08:02.23
flashはスレ違いだよ!w
0055デフォルトの名無しさん2012/03/06(火) 22:10:26.83
>>54
フラッシュのスレに誰も答えれるやついないんだよ
素人ばかりなんだ。
こまってしまったよ。
0056デフォルトの名無しさん2012/03/06(火) 22:35:16.75
ここで聞かれても
0057デフォルトの名無しさん2012/03/07(水) 00:07:37.55
最近delegateの最適化がめちゃくちゃ効いてきて参照渡しスタイルがかなり書きやすくなってうれしいな
0058デフォルトの名無しさん2012/03/07(水) 00:08:20.24
間違えた。参照渡しじゃなくて継続渡しね
0059デフォルトの名無しさん2012/03/07(水) 00:11:57.06
>>55
せめて、web制作系のスレに行こうよ・・・w
0060デフォルトの名無しさん2012/03/07(水) 17:38:11.25
>>55
flvファイルは持ってる?

推測だけど、Flash Player上でのループ処理がマウスの動きに追いつけなくて
カーソル関連の処理が飛んでしまうんじゃないかと思う

間違いなくファイル名の問題ではないと思うよ

ムービークリップをカーソルの位置に移動するのはかなり負荷が掛かってたみたいだから
0061デフォルトの名無しさん2012/03/07(水) 17:41:55.58
ここに来た目的を忘れてたw

Windows版dmdの64bit対応って今どんな状況?
早く来ないかなとワクテカしてるんだけど
情報源がそんなにあるわけじゃないから
ここに頼るしかないんだw
0062デフォルトの名無しさん2012/03/07(水) 19:30:32.62
>>59>>60
ソースをいじったり、ファイル名、インスタンス名を変えたり
ありとあらゆる方法を試して原因がわかった。

ムービークリップを構成している画像ファイルを作り直したら直った。
他の画像ファイルに置き換えたら正しく動いたから判明した。

でも別に画像ファイルが壊れてるわけではない。
その画像ファイルを同じ手順で同じRGBカラーで
同じ手順でイラストレーターで再作成するとバグる。
どうも#00ff00(緑色)を使うとバグるきがする。
これセーフカラーだよね。なんなんだよくそが!
他の色の画像ファイルなら大丈夫なんだ。

これははっきりいって
Flash CS5のバグ何じゃねえかと思う。
だって、俺のアクションスクリプト3.0のソースは
何百回みなおしても正常だったし
0063デフォルトの名無しさん2012/03/07(水) 23:03:42.91
Flaghはスパゲッティみたいな作りらしいからね
バグも色々とありそうだ

ライセンスが有効なうちにバグ報告しとくといいよ

間違ってウォルターに報告したら駄目だぞ
0064デフォルトの名無しさん2012/03/08(木) 03:52:35.63
>>61
リンカが全くといっていいほど進んでないので後何年かかるのやら
GDCのmingw64版もreal計算がコケるし自分で作った方が早い
0065デフォルトの名無しさん2012/03/08(木) 20:37:01.02
あらら…やっぱりというか何というか
自分で作れる程の技量はないしw
dmdのWindows版が64bit対応したら歓喜しちゃう所なのに
道のりはまだまだ遠いのね…残念

ありがとう
0066デフォルトの名無しさん2012/03/09(金) 01:47:32.10
UFCS きた
こんなのが書けるようになるぞ!

"aaa".map!(a=>'b')().map!(a=>'c')().array() // "ccc"
0067デフォルトの名無しさん2012/03/09(金) 02:35:13.91
きゅうべぇ「もう訳がわからないよ」
0068デフォルトの名無しさん2012/03/09(金) 07:24:28.68
変態!変態!(AAry
0069デフォルトの名無しさん2012/03/09(金) 07:28:25.16
同じようなことはunaryFunで結構前からできてたからあんまり実感ないな
0070デフォルトの名無しさん2012/03/09(金) 09:15:58.92
alias TypeTuple!() void;
0071デフォルトの名無しさん2012/03/12(月) 02:27:41.16
最後のarrayいるの?
0072デフォルトの名無しさん2012/03/12(月) 16:11:06.87
if (ch.inPattern("0-9A-F")) {
}

こういうのが書けるようになるのはほんのり気持ちいい

>>71
array() なしでは生きていけない
0073デフォルトの名無しさん2012/03/12(月) 18:57:15.30
関数型言語のゴチャゴチャスレが2つほど立ってるが
取り合えずpureがあるDが勝ち組
0074デフォルトの名無しさん2012/03/12(月) 23:08:03.80
>ch.inPattern
「chinpoたん」に見えた。新キャラかと思った・・・
0075デフォルトの名無しさん2012/03/13(火) 08:23:52.63
ch.インポたん?
0076デフォルトの名無しさん2012/03/13(火) 16:01:09.44
lispのsexpが羨ましい今日この頃
0077デフォルトの名無しさん2012/03/14(水) 18:22:27.81
VisualD 0.3.31
0078デフォルトの名無しさん2012/03/14(水) 18:38:25.46
>>77
GDCと64bit サポートか・・・人によってはうれしいかも

mago debugger の機能強化ってどうなんかね。使ってる人いるのか?
0079デフォルトの名無しさん2012/03/16(金) 02:28:11.79
dmdでまだ形すら見えてこない64bitビルドに
GDC経由でMinGWを叩くことで対応するとは…
0080デフォルトの名無しさん2012/03/17(土) 00:50:28.80
ttps://github.com/PhilippeSigaud/Pegged
ほう…
0081デフォルトの名無しさん2012/03/17(土) 01:29:38.69
boostのspiritみたいなやつ?
0082デフォルトの名無しさん2012/03/20(火) 23:11:39.08
最近なんかあった?
0083デフォルトの名無しさん2012/03/21(水) 00:24:52.76
2.059
言語としての完成度は結構仕上がってきてる感がある
0084デフォルトの名無しさん2012/03/21(水) 01:46:30.75
toString とか opEquals とかに const pure をつけて
既存のライブラリを皆殺しにする計画の進展はいかに?
0085デフォルトの名無しさん2012/03/21(水) 01:49:26.27
なにそのワクワク破壊計画。胸が高鳴る。
0086デフォルトの名無しさん2012/03/21(水) 02:26:35.63
てか Sea of errors は改善されたのかのう
邪魔すぎて trunk 使う気にならない

あのまま 2.059 リリースとかになったら泣きわめく
0087デフォルトの名無しさん2012/03/21(水) 07:26:04.04
海外でも破壊的変更に心躍らされるマゾばかりなのだろうか
0088デフォルトの名無しさん2012/03/21(水) 13:30:01.37
破壊的変更をにくむ正義の心と
Dに愛想を尽かさないやさしい心を併せ持った
ヒーローはいるのだろうか
0089デフォルトの名無しさん2012/03/21(水) 13:40:54.74
これ以上絶対壊れないように、と、完全な言語仕様を作ろうとしているヒーローならいると思う。
0090デフォルトの名無しさん2012/03/21(水) 17:23:59.67
むしろ破壊による再生を司る魔王のような
0091デフォルトの名無しさん2012/03/21(水) 18:09:41.69
Destruction
Destroy

結論
名前が悪い
0092デフォルトの名無しさん2012/03/21(水) 20:37:19.54
おいおい、いまはDisruption的変更の時代だぜ?
0093デフォルトの名無しさん2012/03/21(水) 22:20:38.28
全ては Dead-on (完璧な) 言語になるために
0094デフォルトの名無しさん2012/03/21(水) 22:58:45.21
Dirty Deeds Done Dirt Cheap
0095デフォルトの名無しさん2012/03/21(水) 23:12:26.98
D@M*'D
0096デフォルトの名無しさん2012/03/21(水) 23:13:55.34
>>95
なにこれ絶望しかない

 despair
 絶 望 !?
0097デフォルトの名無しさん2012/03/21(水) 23:25:54.89
2.059のchange logリンクがあるのに実物がないのはどういうこと?
0098デフォルトの名無しさん2012/03/21(水) 23:49:17.80
>>97
モノはない 出るのは一ヶ月くらい先

ページを自動生成するときの都合か何かでおかしなことになってる
苦情は出てるけどなかなか直らん
0099デフォルトの名無しさん2012/03/24(土) 10:07:59.69
ねぇもっとD言語の話しようよ
0100デフォルトの名無しさん2012/03/24(土) 20:52:55.54
話題があれば食いつく用意はあるんだが。
まあ更新ない時はまったりしてんのもこのスレらしくてよろし。
0101デフォルトの名無しさん2012/03/24(土) 22:29:44.66
破壊が来たら盛り上がるよね
■ このスレッドは過去ログ倉庫に格納されています