12/02/20 14:07:12.79
■参考URL その2
URLリンク(www.nicovideo.jp) (D言語で作られた芝ゲー niconico動画)
URLリンク(www.asahi-net.or.jp) (ABA Games)
URLリンク(www.ku6.jp) (SDLのポーティング 最新)
■ IDE
URLリンク(forums.codeblocks.org) (Code::Blocks)
URLリンク(www.dprogramming.com) (Entice Designer)
URLリンク(www.dsource.org) (Descent) DDTへ移行
URLリンク(www.dsource.org) (Poseidon)
URLリンク(code.google.com) (DDT)
URLリンク(www.dsource.org) (Visual D)
3:デフォルトの名無しさん
12/02/20 14:07:58.46
■書籍
The D Programming Language (TDPL)
D言語パーフェクトガイド ※賞味期限切れ
■過去スレ、関連スレ
URLリンク(makimo.to:8000)
■その他関連スレ
統合開発環境Eclipseプラグイン開発QA
スレリンク(tech板) (dat落ち)
"Code of the Nerds" Digital Mars C/C++
スレリンク(tech板)
4:デフォルトの名無しさん
12/02/20 14:09:10.00
URL 多すぎるのか規制がうるさい
古い奴はばっさり消毒だーーーーー
5:デフォルトの名無しさん
12/02/20 20:08:27.75
hぬきで
ttpにすればいいのに
6:デフォルトの名無しさん
12/02/23 01:40:10.27
URLリンク(dusers.dip.jp)
>生成バイナリの浮動小数点計算のパフォーマンスが2.057のものと比較して大きく変わっているようです。
>2coreのx86マシンでは3倍近く上昇しましたが、一方8coreのAMD64機では半減致しました。
>共にwindowsマシンですがレジスタ周りで何かしら改修があったのでしょうか?
昔書いたベンチマークソフトの結果がまるっきり変わっててワロタ
ソースどころかパフォーマンスまで破壊的変更とは
7:デフォルトの名無しさん
12/02/23 10:26:41.49
import std.stdio;void main(){ writefln();}これコンパイルすると出てくるエラーってどうしてライブラリ側でのエラーの位置なの?
8:デフォルトの名無しさん
12/02/23 10:27:10.97
import std.stdio;void main(){ writefln();}これコンパイルすると出てくるエラーってどうしてライブラリ側でのエラーの位置なの?
9:デフォルトの名無しさん
12/02/23 11:59:34.27
テンプレートの中で出るエラーだから
test.d(1): instantiated from here: writefln!()
これが出てる分だけマシな方だと思う
10:デフォルトの名無しさん
12/02/23 15:43:34.91
import std.stdio;
enum HELLO = () => std.stdio.writeln("hello");
enum main = () => HELLO();
もう少しでこれが通りそうなんだが
11:デフォルトの名無しさん
12/02/23 16:35:06.54
JavaScriptみたいに、普通の関数宣言の構文がいらない子になってきてるな……。
12:デフォルトの名無しさん
12/02/23 20:51:51.97
>>10
見事な変態に育ったなぁ
13:デフォルトの名無しさん
12/02/24 00:35:42.85
enumとかisとか何だよ ってたまに突っ込みたくなる
14:デフォルトの名無しさん
12/02/24 00:55:30.09
URLリンク(d.hatena.ne.jp)
これDでも書けるかなあ
15:デフォルトの名無しさん
12/02/24 02:08:59.41
forkるんだ
16:sage
12/02/24 08:43:23.04
>>9そうなんですか。ライブラリ側のエラーの行数が出てきてもデバッグし難いですね
17:デフォルトの名無しさん
12/02/24 10:28:15.56
日本人夫婦から治療費5千万円詐取容疑 韓国人の女逮捕
韓国のソウル地方警察庁は23日、知人の日本人夫婦にソウルの病院を紹介し、実際の数倍の
治療費を夫婦に請求して約7億ウォン(約5千万円)をだまし取ったとして、韓国人の女(36)を詐欺などの疑いで逮捕したと発表した。
同庁によると、女は宮崎県でネールアート店を経営。知り合った老夫婦に「待たずに手術を受けられる」などとソウルの病院を勧め、
昨年5月までの約1年間、病院の領収書を偽造して夫婦に請求し、差額をだまし取った疑いがある。
警察によると、女は容疑を認めているといい、ほかに被害にあった日本人がいないか調べている。
URLリンク(www.asahi.com)
18:デフォルトの名無しさん
12/02/24 10:50:38.91
複数行のラムダ式が折り畳み出来ないエディタなんて
小学生までだよね~☆
19:デフォルトの名無しさん
12/02/25 17:45:11.14
class A {
static enum createInstance = () => new A();
private this() { assert(false); }
}
void main() {
auto a = A.createInstance();
}
ラムダで Singleton をやろうとしたら
コンストラクタが呼ばれないでござる
20:デフォルトの名無しさん
12/02/25 18:10:53.09
enumにそんな使い方あったのか
21:デフォルトの名無しさん
12/02/25 18:40:07.71
static enum createInstance = (){ return new A(); };
2.057 ではこの形をはじいている。緩和された? それともバグ?
22:デフォルトの名無しさん
12/02/25 18:45:54.12
前はそれだと問答無用でdelegate(=コンパイル時値ではない)になる
今は関数部の中身によってfunctionかdelegateか判別してくれるんじゃなかったかな
23:デフォルトの名無しさん
12/02/25 19:12:18.80
なるほど こんな効果もあるのか
24:デフォルトの名無しさん
12/02/26 03:39:45.36
そういえばアイマスのキャラが 'Der変態' って言ってた
25:デフォルトの名無しさん
12/02/26 15:41:33.37
>>24
ようやく意味が分かった
26:デフォルトの名無しさん
12/02/28 11:41:43.98
いっつも構造体ポインタから当たり前のようにドットつなぎでメソッド呼び出してて
その構造体にopIndex定義して、
当たり前のようにポインタにp[i]みたいにやったらポインタ演算に間違われた
27:デフォルトの名無しさん
12/02/28 14:53:04.31
TLS
URLリンク(ja.wikipedia.org)
だれかドヤ顔で書いてやって
28:デフォルトの名無しさん
12/02/28 17:15:28.12
>>26
(*p)[i]
29:デフォルトの名無しさん
12/02/28 23:58:12.51
あれ?TLS前見たときにはDあったような・・・気のせいか
30:デフォルトの名無しさん
12/02/29 20:00:17.78
D2+Win32APIの勉強してたつもりが
github.com/kos-/MultiWS
DLLの共有セクションってdmdでどうやるのでしょう
31:デフォルトの名無しさん
12/02/29 20:23:53.02
URLリンク(ideone.com)
設計が悪いと思うんだけどどうすりゃいいの?
32:デフォルトの名無しさん
12/02/29 23:57:26.78
>>31
1. opApplyをconstメンバ関数にする
2. Barのコンストラクタで foo = new Foo;とかする
33:デフォルトの名無しさん
12/03/01 00:00:18.63
opApplyの実装しだいでforeach文自体が副作用を伴う場合もあるということか
なんかこえー
34:デフォルトの名無しさん
12/03/01 03:23:53.36
>>30
shared か __gshared
URLリンク(www.kmonos.net)
と synchronized
URLリンク(www.kmonos.net)
>>33
や、そうならないために const 付けてねっていう話では?
35:31
12/03/01 21:40:58.27
自分のクラスならconst付けるだけていいんだけどphobosはそうもいかないよね
-Foo foo;
+Stream foo;
36:デフォルトの名無しさん
12/03/01 22:11:33.46
むしろStream系はメンテすらされてないんじゃ・・・
37:デフォルトの名無しさん
12/03/01 22:14:24.22
代わりに何を使えばいいんですか?
38:デフォルトの名無しさん
12/03/02 00:24:15.69
std.regex.match("", r"^$").empty == true
になるんだけど、なんで?
Rubyだと "" =~ /^$/ でヒットするのに
39:デフォルトの名無しさん
12/03/02 13:20:05.50
nothrow宣言ってなにが得するんですか?
いまいちわからないんですが・・
40:デフォルトの名無しさん
12/03/02 16:30:10.00
Javaばりに投げる例外がメソッドの型として影響すれば意味があるけど、
現状ただの目安だな。
41:デフォルトの名無しさん
12/03/02 17:27:49.22
>>38
goto バグ報告
>>39
TDPL によると絶対に例外を投げてはいけない処理の中で
安心してその関数を呼べることの保証
契約プログラミングの位置づけに見える
42:デフォルトの名無しさん
12/03/02 17:33:40.08
なるほど契約ですか。
普段からあんまり契約文書いてなかったから分からなかったなあ
43:デフォルトの名無しさん
12/03/03 21:07:42.86
配列の先頭を削除する時
a = a[1..$];
してるんだけどもっと綺麗なやり方あるます?
44:デフォルトの名無しさん
12/03/03 21:10:21.34
import std.array;して
a.popFront;とか?
いややってることは、まったく変わらないんだけど
45:デフォルトの名無しさん
12/03/03 22:13:27.65
>>44
㌧㌧
中見たらやってることが変わらないどころか配列名も含めて完全に一致してて吹いた
46:デフォルトの名無しさん
12/03/03 23:15:47.04
リングバッファでも実装したら
47:デフォルトの名無しさん
12/03/04 00:02:21.30
a[0 .. $-1] = a[1..$]; a.length -= 1;
とか?
48:デフォルトの名無しさん
12/03/04 00:47:34.87
いやいや読みにくいやん読みにくくなってるやん
49:デフォルトの名無しさん
12/03/04 01:37:18.66
昔のスレ読んでたら予言者発見した
D言語 Part14
スレリンク(tech板:211番)
211 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/08(水) 02:41:25
デリゲートリテラルの引数の型を推論できるようにならんかなあ。
void func(int delegate(int) dg);
func( (i) { return i * 2; } );
とか、願わくば
func(i => i * 2);
とか書きたい。
50:デフォルトの名無しさん
12/03/04 14:51:08.23
別に予言でも何でもないような気が・・・
C# 3.0 (2007年) のラムダ式が欲しいっていう
普通のレスじゃないの?
51:デフォルトの名無しさん
12/03/04 16:50:21.57
与言じゃなくて欲言
52:デフォルトの名無しさん
12/03/06 21:40:01.17
急にボタンがきかなくなる現象ってなんだろう。
たくさんボタンがあって、ムービークリップもあって
きかなくなる。
マウスはヒドゥンにして、ムービークリップオブジェクトを
カスタムマウスよろしくポインタをフォローミーさせとる
なんかシンボルを作り直すと直ったりするんだけど
本当に意味不明だよ。アクションスクリプトを何度もみかえしてみても
全然変じゃないしコンパイルも通る。へんな出力もされない。
ステージによみこむときのジェイペグやジフファイルの
ファイル名が全角だったりするとバグるのだろうか?
この現象と対処方法、解決方法を上手く説明できる人おる?
53:デフォルトの名無しさん
12/03/06 21:44:48.50
急
た
き
マ
カ
な
本
全
ス
フ
こ
54:デフォルトの名無しさん
12/03/06 22:08:02.23
flashはスレ違いだよ!w
55:デフォルトの名無しさん
12/03/06 22:10:26.83
>>54
フラッシュのスレに誰も答えれるやついないんだよ
素人ばかりなんだ。
こまってしまったよ。
56:デフォルトの名無しさん
12/03/06 22:35:16.75
ここで聞かれても
57:デフォルトの名無しさん
12/03/07 00:07:37.55
最近delegateの最適化がめちゃくちゃ効いてきて参照渡しスタイルがかなり書きやすくなってうれしいな
58:デフォルトの名無しさん
12/03/07 00:08:20.24
間違えた。参照渡しじゃなくて継続渡しね
59:デフォルトの名無しさん
12/03/07 00:11:57.06
>>55
せめて、web制作系のスレに行こうよ・・・w
60:デフォルトの名無しさん
12/03/07 17:38:11.25
>>55
flvファイルは持ってる?
推測だけど、Flash Player上でのループ処理がマウスの動きに追いつけなくて
カーソル関連の処理が飛んでしまうんじゃないかと思う
間違いなくファイル名の問題ではないと思うよ
ムービークリップをカーソルの位置に移動するのはかなり負荷が掛かってたみたいだから
61:デフォルトの名無しさん
12/03/07 17:41:55.58
ここに来た目的を忘れてたw
Windows版dmdの64bit対応って今どんな状況?
早く来ないかなとワクテカしてるんだけど
情報源がそんなにあるわけじゃないから
ここに頼るしかないんだw
62:デフォルトの名無しさん
12/03/07 19:30:32.62
>>59>>60
ソースをいじったり、ファイル名、インスタンス名を変えたり
ありとあらゆる方法を試して原因がわかった。
ムービークリップを構成している画像ファイルを作り直したら直った。
他の画像ファイルに置き換えたら正しく動いたから判明した。
でも別に画像ファイルが壊れてるわけではない。
その画像ファイルを同じ手順で同じRGBカラーで
同じ手順でイラストレーターで再作成するとバグる。
どうも#00ff00(緑色)を使うとバグるきがする。
これセーフカラーだよね。なんなんだよくそが!
他の色の画像ファイルなら大丈夫なんだ。
これははっきりいって
Flash CS5のバグ何じゃねえかと思う。
だって、俺のアクションスクリプト3.0のソースは
何百回みなおしても正常だったし
63:デフォルトの名無しさん
12/03/07 23:03:42.91
Flaghはスパゲッティみたいな作りらしいからね
バグも色々とありそうだ
ライセンスが有効なうちにバグ報告しとくといいよ
間違ってウォルターに報告したら駄目だぞ
64:デフォルトの名無しさん
12/03/08 03:52:35.63
>>61
リンカが全くといっていいほど進んでないので後何年かかるのやら
GDCのmingw64版もreal計算がコケるし自分で作った方が早い
65:デフォルトの名無しさん
12/03/08 20:37:01.02
あらら…やっぱりというか何というか
自分で作れる程の技量はないしw
dmdのWindows版が64bit対応したら歓喜しちゃう所なのに
道のりはまだまだ遠いのね…残念
ありがとう
66:デフォルトの名無しさん
12/03/09 01:47:32.10
UFCS きた
こんなのが書けるようになるぞ!
"aaa".map!(a=>'b')().map!(a=>'c')().array() // "ccc"
67:デフォルトの名無しさん
12/03/09 02:35:13.91
きゅうべぇ「もう訳がわからないよ」
68:デフォルトの名無しさん
12/03/09 07:24:28.68
変態!変態!(AAry
69:デフォルトの名無しさん
12/03/09 07:28:25.16
同じようなことはunaryFunで結構前からできてたからあんまり実感ないな
70:デフォルトの名無しさん
12/03/09 09:15:58.92
alias TypeTuple!() void;
71:デフォルトの名無しさん
12/03/12 02:27:41.16
最後のarrayいるの?
72:デフォルトの名無しさん
12/03/12 16:11:06.87
if (ch.inPattern("0-9A-F")) {
}
こういうのが書けるようになるのはほんのり気持ちいい
>>71
array() なしでは生きていけない
73:デフォルトの名無しさん
12/03/12 18:57:15.30
関数型言語のゴチャゴチャスレが2つほど立ってるが
取り合えずpureがあるDが勝ち組
74:デフォルトの名無しさん
12/03/12 23:08:03.80
>ch.inPattern
「chinpoたん」に見えた。新キャラかと思った・・・
75:デフォルトの名無しさん
12/03/13 08:23:52.63
ch.インポたん?
76:デフォルトの名無しさん
12/03/13 16:01:09.44
lispのsexpが羨ましい今日この頃
77:デフォルトの名無しさん
12/03/14 18:22:27.81
VisualD 0.3.31
78:デフォルトの名無しさん
12/03/14 18:38:25.46
>>77
GDCと64bit サポートか・・・人によってはうれしいかも
mago debugger の機能強化ってどうなんかね。使ってる人いるのか?
79:デフォルトの名無しさん
12/03/16 02:28:11.79
dmdでまだ形すら見えてこない64bitビルドに
GDC経由でMinGWを叩くことで対応するとは…
80:デフォルトの名無しさん
12/03/17 00:50:28.80
URLリンク(github.com)
ほう…
81:デフォルトの名無しさん
12/03/17 01:29:38.69
boostのspiritみたいなやつ?
82:デフォルトの名無しさん
12/03/20 23:11:39.08
最近なんかあった?
83:デフォルトの名無しさん
12/03/21 00:24:52.76
2.059
言語としての完成度は結構仕上がってきてる感がある
84:デフォルトの名無しさん
12/03/21 01:46:30.75
toString とか opEquals とかに const pure をつけて
既存のライブラリを皆殺しにする計画の進展はいかに?
85:デフォルトの名無しさん
12/03/21 01:49:26.27
なにそのワクワク破壊計画。胸が高鳴る。
86:デフォルトの名無しさん
12/03/21 02:26:35.63
てか Sea of errors は改善されたのかのう
邪魔すぎて trunk 使う気にならない
あのまま 2.059 リリースとかになったら泣きわめく
87:デフォルトの名無しさん
12/03/21 07:26:04.04
海外でも破壊的変更に心躍らされるマゾばかりなのだろうか
88:デフォルトの名無しさん
12/03/21 13:30:01.37
破壊的変更をにくむ正義の心と
Dに愛想を尽かさないやさしい心を併せ持った
ヒーローはいるのだろうか
89:デフォルトの名無しさん
12/03/21 13:40:54.74
これ以上絶対壊れないように、と、完全な言語仕様を作ろうとしているヒーローならいると思う。
90:デフォルトの名無しさん
12/03/21 17:23:59.67
むしろ破壊による再生を司る魔王のような
91:デフォルトの名無しさん
12/03/21 18:09:41.69
Destruction
Destroy
結論
名前が悪い
92:デフォルトの名無しさん
12/03/21 20:37:19.54
おいおい、いまはDisruption的変更の時代だぜ?
93:デフォルトの名無しさん
12/03/21 22:20:38.28
全ては Dead-on (完璧な) 言語になるために
94:デフォルトの名無しさん
12/03/21 22:58:45.21
Dirty Deeds Done Dirt Cheap
95:デフォルトの名無しさん
12/03/21 23:12:26.98
D@M*'D
96:デフォルトの名無しさん
12/03/21 23:13:55.34
>>95
なにこれ絶望しかない
despair
絶 望 !?
97:デフォルトの名無しさん
12/03/21 23:25:54.89
2.059のchange logリンクがあるのに実物がないのはどういうこと?
98:デフォルトの名無しさん
12/03/21 23:49:17.80
>>97
モノはない 出るのは一ヶ月くらい先
ページを自動生成するときの都合か何かでおかしなことになってる
苦情は出てるけどなかなか直らん
99:デフォルトの名無しさん
12/03/24 10:07:59.69
ねぇもっとD言語の話しようよ
100:デフォルトの名無しさん
12/03/24 20:52:55.54
話題があれば食いつく用意はあるんだが。
まあ更新ない時はまったりしてんのもこのスレらしくてよろし。
101:デフォルトの名無しさん
12/03/24 22:29:44.66
破壊が来たら盛り上がるよね
102:デフォルトの名無しさん
12/03/25 19:27:35.68
一部のマゾが盛り上がる陰で幾人もの同志が静かに去っていく
103:デフォルトの名無しさん
12/03/25 19:55:17.27
M言語に改名しようぜ
104:デフォルトの名無しさん
12/03/26 19:21:22.66
やっぱDが入ってないと…
ドM言語でいいんじゃないかな
105:デフォルトの名無しさん
12/03/26 20:34:08.46
DさんはSだからドS言語だと何度
106:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 03:59:22.76
Go-D言語
107:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 09:42:45.81
God言語
108:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 15:21:26.42
enum hello = ( ()=>writeln("hello") )();
これが通るようになればいろいろと楽しそうなんだが
109:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 15:26:43.39
コンパイル時にhelloって表示されたいってこと?
110:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 15:32:19.44
ちなみにこれは通る
enum a = (()=>0)();
111:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 15:35:01.45
>>110 ではつまらないから
アウトプットの出る処理は書けないかな~、と
112:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 19:18:02.90
コンパイルタイムIOか
andrei辺りがなんか言ってたとかそういう噂を聞いたという話を聞いたことがある
113:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 22:08:05.89
Windowsでパスに日本語が入ってるとstd.stdio.Fileが使えないんですが、
何か対処法は用意されてますか?
114:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 22:16:38.66
fopenにstringそのまま渡してんのか・・・アホすぎる
std.stream.Fileはちゃんとしてんのに
というわけなので自分でsjisに変換(std.windows.charset.toMBSz)してやらんと無理っぽい
115:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 22:26:02.92
ありがとうございます。
auto file = File(to!string(toMBSz(filename)));
116:営利利用に関するLR審議中@詳細は自治スレへ
12/03/30 23:59:26.58
そしてバージョンアップで直っててバグると
117:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 11:19:50.37
{
auto newComer = new Developer("今日からD言語始めます!");
}
118:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 11:33:57.05
newComerはガベージコレクト対象となります
119:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 20:25:53.76
D言語のおいしいとこかいつまんで教えてください
120:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 20:56:10.76
仕様変更に強いプログラマになれるよ!
121:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 21:08:31.21
配列と文字列が簡単に扱える C言語
それ以上を期待しなければ健康でいられる
122:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 21:29:35.05
理不尽なほど強力なテンプレート
最悪なほど凶悪なCTFE
慣れたが最期のスコープガード文
123:営利利用に関するLR審議中@詳細は自治スレへ
12/04/02 20:24:25.08
2.059のbetaが出てるけど、試した人いる?
124:営利利用に関するLR審議中@詳細は自治スレへ
12/04/03 03:08:02.90
どこからDLできるのか知らんけど
disruptive change とやらは結局不発に終わるのか
125:営利利用に関するLR審議中@詳細は自治スレへ
12/04/03 20:09:11.72
>>123 を探しにいったはずなのに
Github の dmd download に
なぜか Win用の curlライブラリ一式を発見するなど
126:営利利用に関するLR審議中@詳細は自治スレへ
12/04/03 21:07:29.09
Winでわざわざcurl使うってすげーー
127:営利利用に関するLR審議中@詳細は自治スレへ
12/04/05 01:20:22.57
URLリンク(ftp.digitalmars.com)
128:営利利用に関するLR審議中@詳細は自治スレへ
12/04/05 13:51:55.55
main を省いて モジュール単体でコンパイル~unittest実行ってできると
うれしいんだが
129:営利利用に関するLR審議中@詳細は自治スレへ
12/04/05 13:57:23.29
すべてのモジュールのmain関数をstatic this()を呼ぶのと同じ順序で言語が自動的に全部呼び出すとかどうすか
どうすか
130:営利利用に関するLR審議中@詳細は自治スレへ
12/04/05 14:44:57.84
>>129
よくわからん・・・mainを書かなくても暗黙的に追加されるってことかな?
Ruby みたいに ライブラリを1ファイルごとに実行したいの
scconfとdruntime に細工をかますだけでいけるかな
131:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 22:29:55.11
>>130
version(unittest){ void main(){} }
じゃだめですか
132:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 01:20:48.38
ファイル1個で走らせるときと
ライブラリ単位で走らせるとき
切り替えるのにいちいちソース書き換えてる状態なのよね
main.obj+Makeコマンド自動生成するのが近道だけどめんどい
133:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 11:04:39.58
一瞬
unittest { void main(){} }
に見えてぎょっとしたけどさすがに無理がある
134:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 18:40:22.89
D言語のAndroidの開発環境ってある?
135:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 18:56:02.67
ARM版gdcがHello World出せるようになった所
136:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 19:52:58.84
マジかよすげぇな
まあgccのバックエンドがあるならさもありなん
137:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 00:27:13.21
でもD1なんでしょう?
138:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 15:11:32.68
template A(string name)
{
const char[] A = "struct " ~ name ~ "{int a;}";
}
mixin(A!("S"));
は通るのに
mixin(const char[] B = "struct AA{int a;}");
は通らないのはなぜですか?
139:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 16:24:26.91
まず、
const char[] A = "struct " ~ name ~ "{int a;}";
こいつは文字列リテラルとしては扱われない
しかしDのテンプレートはメンバがたかだか一つのメンバを持ってる場合、
そのメンバそのものみたいに振る舞うという性質がある
だから文字列リテラルAそのものみたいにtemplate Aが使える
んだよね?
140:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 16:41:53.43
>しかしDのテンプレートはメンバがたかだか一つのメンバを持ってる場合
そうではなく、
そのテンプレートと同名のメンバは、名前の参照を省略できる。
mixin(A!("S")); は
mixin(A!("S").A);
の省略形でしかない。
>>138の答えにもなるかな
141:140
12/04/08 16:49:48.82
なんか不安になって公式見たらメンバが一つであることも条件みたいに書いてあって焦ったけど、
手元で試したらなんかそうでもないっぽい・・・
142:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 17:19:42.72
>>139-141
なるほどこうなるんですね
mixin("struct S{int a;}");
mixin("struct AA{int a;}");
納得しましたありがとうございます。
143:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 17:55:55.18
>>140-141
メンバ一つに限るっていう条件は 2.058 で外れたとかどこかで見たような
Eponymous Template っていうらしい
144:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 18:50:45.22
>>143
知らんかった…
俺の知識が1.0時代で止まってる
もうhello, world!も書けないな
>>140
補足Thx
145:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 00:53:28.30
D言語の破壊的変更以上に現代では女子高生が自慰をネット配信してたりすることに驚いている今日この頃
色々たまってるんでしょうね
早く次バージョン来ないかなぁ
146:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 00:54:42.29
enum HOGE : string{ H = "hoge" }
これ、-g つけると通らないんだな。
enum HOGE = "hoge";
は通るのにさ。
147:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 07:15:46.44
あ、それバグだったのか!?
なんてこったい
148:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 13:58:26.10
memcmp実装しようと
int memcmp(void* p1, void* p2, size_t n){
~
if(*p1 != *p2){
~
ってやると no value とかなんとか怒られるんだけど
149:片山博文MZボット ◆0lBZNi.Q7evd
12/04/11 14:21:39.04
まずvoidはサイズがない型なので、void*をunsigned char*などにキャストしないといけない。
int memcmp(void *p1, void *p2, size_t n)
unsigned char *pb1 = (unsigned char*)p1;
unsigned char *pb2 = (unsigned char*)p2;
for(; n--; pb1++, pb2++) if (*pb1 != *pb2) return (int)*pb1 - (int)*pb2;
return 0;
}
150:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 14:27:53.94
ここはCスレになりました
151:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:08:11.86
つ import core.stdc.string;
152:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:10:51.55
void*とか、テンプレート涙目。
153:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:29:54.01
>>149
dmdが発狂したぞ
>>151
druntimeからCのコードを排除したいのですよ
154:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:32:47.77
unsigned charをubyteに変えてキャストの前にcastってちゃんとつければ使えると思うよ
155:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 17:58:44.35
CTFE ってこんなにひどいレベルだったのか・・・ぐぬぬ
URLリンク(d.puremagic.com)
156:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 19:00:21.88
コンパイルが通る奇跡に感謝しないと
157:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 19:34:15.06
遅いのならともかく out of memory とかw
158:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 20:13:37.09
本当に「コンパイラを作るのが比較的簡単な言語」なんだろうか
159:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 20:16:03.33
当初の売り文句のかなりの部分が反故にされてると思う
160:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 20:25:25.37
ウォルたん「ね、簡単でしょう?」
161:デフォルトの名無しさん
12/04/11 20:30:27.61
もう一度原点に立ち返るべき
162:デフォルトの名無しさん
12/04/11 20:50:23.38
(int main (((array string) args)))
163:デフォルトの名無しさん
12/04/12 13:19:34.64
OK: foreach (l; File(fname).byLine()) { }
NG: foreach (i, l; File(fname).byLine()) { }
下の場合は opApplyをもってないとダメになるみたいだが
これってバグだよな?
164:デフォルトの名無しさん
12/04/12 16:11:24.98
>>154
なんで気づかなかったんだろうってくらいに普通に動いたありがとう
165:デフォルトの名無しさん
12/04/12 17:32:31.78
>>163
仕様通りやん。
ライブラリにopApplyが定義されてないのがバグだって言うならそうだけど。
166:デフォルトの名無しさん
12/04/12 18:44:39.80
std.conv.parseで16進数文字列から数値に変換できるのか…
今更知った。
167:デフォルトの名無しさん
12/04/12 19:47:18.96
this = null;
168:デフォルトの名無しさん
12/04/13 02:35:58.51
プロセス間で変数を共有するのってsharedでできますか
無理すよね
169:片山博文MZボット ◆0lBZNi.Q7evd
12/04/13 14:04:09.45
誰かD言語用のパーサジェネレータ作ってください。
170:デフォルトの名無しさん
12/04/13 14:23:16.24
たぶんコンパイラのソースからぶっこぬいて
ライブラリ化するのがいちばん近道
171:デフォルトの名無しさん
12/04/13 14:33:18.67
パーサじゃなくてパーサジェネレータじゃね?
まあD言語を解析できるパーサを出力できるようにするには似たようなもんか
172:デフォルトの名無しさん
12/04/13 18:38:10.38
>>169
検索したらすぐ見つかったよ
URLリンク(github.com)
URLリンク(github.com)
173:デフォルトの名無しさん
12/04/13 18:46:41.69
>>163
byLineはrangeを返すので、インデックス付きforeachはそのままでは不可能
どうしても欲しいならzip,sequenceと組み合わせて
import std.stdio, std.range;
void main()
{
auto lines = File(__FILE__).byLine();
auto naturals = sequence!"n+1"(); // 自然数の無限レンジ
auto indexedLines = zip(naturals, lines);
foreach (i, ln; indexedLines) { writefln("%d: %s", i, ln); }
}
174:デフォルトの名無しさん
12/04/13 18:54:09.89
>>166
std.conv.toは基本的に
・非文字列な値から文字列への変換:std.format.formatValueを使う
・文字列から非文字列な値への変換:std.conv.parseを使う
・その他安全なキャスト的な機能
を提供する。
175:デフォルトの名無しさん
12/04/13 18:57:40.58
>>168
sharedは1つのプロセス内のスレッド間で値を共有するために使う
プロセス間での共有は…std.mmfileかなあ
ごめん、自分は使ったこと無いので使えるかどうかは不明
176:デフォルトの名無しさん
12/04/13 19:47:37.63
よくFile(__FILE__)とか思いつくなあ
177:デフォルトの名無しさん
12/04/13 20:00:27.77
>>173のZipってopApply持ってないのに
どうやってタプルなforeachに対応してるの?
178:デフォルトの名無しさん
12/04/13 20:20:21.62
opApplyに対するforeachじゃなくてrangeメソッドに対するforeachにすり替えられているから
179:デフォルトの名無しさん
12/04/13 22:08:43.13
2.059
180:デフォルトの名無しさん
12/04/13 22:42:11.56
DAMASARETA!
181:デフォルトの名無しさん
12/04/13 23:15:50.64
change log 長すぎ
182:デフォルトの名無しさん
12/04/14 00:13:48.83
ほぼすにDのパーサ入れればいいのに
183:デフォルトの名無しさん
12/04/14 00:31:49.13
DWT2の修正してたらtoHash()の仕様変更で詰んだ
nothrowじゃないとあかんのか…
184:デフォルトの名無しさん
12/04/14 01:05:19.58
disruptive の片鱗に過ぎない
185:デフォルトの名無しさん
12/04/14 03:18:53.25
bugzillaの長さが…
D言語が完成されてきていいのか
186:デフォルトの名無しさん
12/04/14 03:44:09.38
たくさん書き直したからその分大量にバグっただけとも言う
187:デフォルトの名無しさん
12/04/14 18:00:58.75
unittestするのにrdmd使うのが便利だと最近知った
ずっと
dmd --unittest -run Dソースファイル
って感じでunittestしてたけど、いちいち空のmainを用意しなきゃならんときがあったりして面倒だったが、rdmd使えば
rdmd -unitttest --main Dソースファイル
で勝手に空のmainを追加してコンパイル→unittest実行ができる
188:デフォルトの名無しさん
12/04/14 18:07:12.08
"キタ----!".writeln;
189:デフォルトの名無しさん
12/04/14 18:09:10.55
おお、これだよ、これ >>187
>>128 でほしいと思ってたのは・・・!
190:デフォルトの名無しさん
12/04/14 18:39:44.18
そんなのがあったのか!
191:デフォルトの名無しさん
12/04/14 19:16:45.96
ちっ
echo "void main(){}" | rdmd
192:デフォルトの名無しさん
12/04/14 19:44:47.09
どうしてDownloadsのとこは更新されないの?
193:デフォルトの名無しさん
12/04/14 20:37:14.42
?
194:デフォルトの名無しさん
12/04/14 23:01:52.85
2.0 changelog
Version D 2.059 Apr 12, 2012
195:デフォルトの名無しさん
12/04/15 01:52:34.10
Change Logの方は更新されてるのに↓は更新されてない
URLリンク(www.digitalmars.com)
196:デフォルトの名無しさん
12/04/15 02:02:27.47
なるほど古いページを見てるのか
>>1 のリンクは既に修正済みだというのに
197:デフォルトの名無しさん
12/04/15 02:05:44.00
こんなこと言っちゃいけないかもしれないけど
URLリンク(www.kmonos.net) ここのDownload D!ってのクリックしたんじゃないかな?
198:デフォルトの名無しさん
12/04/15 02:28:33.63
本来古いページは全部リンク転送されてるはずだから
>>195 がそのまま見れるのはバグといっていい
199:デフォルトの名無しさん
12/04/15 04:10:10.11
>>197
名推理
200:デフォルトの名無しさん
12/04/15 14:27:29.66
【急募】D言語の歌
201:デフォルトの名無しさん
12/04/15 15:28:27.39
BSDの歌からBSを抜けばよい
202:デフォルトの名無しさん
12/04/15 16:57:14.20
>>200
D言語好きは だいぶお利口♪
F#好きより いくらかCOOL♪
そこまで現実わかっているなら♪
もうひと頑張りでーす♪
203:デフォルトの名無しさん
12/04/15 17:19:00.35
T*からref Tへの暗黙変換ってできないんですか?
204:デフォルトの名無しさん
12/04/15 18:59:50.75
OpenGLの関数とかはDからはかなり扱いづらい
205:デフォルトの名無しさん
12/04/15 20:24:14.61
>>204
具体的にどのあたりが?
206:デフォルトの名無しさん
12/04/15 22:42:39.34
>>205
glShaderSourceとかの型まわり
OpenGLに限らずreadonlyなのにconstついてないCの関数とかはtoStringz使おうにもcastが要る
207:デフォルトの名無しさん
12/04/15 23:37:32.43
>>200
何もかもをほしがってた
子どものころのままでいられたらいいのに
でもそろそろ父さんのくれた
真っ黒な手袋とさよならしなくっちゃ
飛ばすぜ! GCのペダル踏み抜いて
VM車なんかにゃ行けないあの空目指すんだ
この先、何度転んだって
誰にも止められやしないさ
208:デフォルトの名無しさん
12/04/16 10:25:33.03
URLリンク(twitter.com)
きた! メイン日本語リファレンスきた! これで勝つる
209:デフォルトの名無しさん
12/04/16 10:26:45.51
DのリファレンスはML
210:デフォルトの名無しさん
12/04/16 21:41:10.74
リファレンスが別のプログラミング言語で書かれてるのか
DさんのドSぶりにはもうついていけないな
211:デフォルトの名無しさん
12/04/16 21:51:11.95
CTFEで生成したDdoc文字列の適用とかできたら楽しそうだね
212:デフォルトの名無しさん
12/04/17 17:38:59.01
いい加減例のポンキッキーズのPちゃんみたいなキャラに名前付けようぜ
213:デフォルトの名無しさん
12/04/17 17:57:12.36
Dちゃん
214:デフォルトの名無しさん
12/04/17 18:50:55.71
ふう
215:デフォルトの名無しさん
12/04/17 20:23:41.58
はえーよ
216:デフォルトの名無しさん
12/04/17 22:16:24.78
今D言語でDコンパイラ書いてるけど何か欲しい拡張機能ある?
とりあえずPOWERとSPARCのインラインアセンブラは実装した。
217:デフォルトの名無しさん
12/04/17 22:59:19.66
拡張機能なんて実装しても
後で本家との互換性で苦労するだけだお
218:デフォルトの名無しさん
12/04/17 23:11:13.53
どこまでできてるんだろう
219:デフォルトの名無しさん
12/04/17 23:24:37.08
>>216
とりあえず Win で動いてソース公開してくれれば
後は何とかなる
欲を言えば非GPLで
220:デフォルトの名無しさん
12/04/17 23:59:52.97
>>217
druntime内部でのOS管理番号を勝手に拡張してるので本家が新しくサポートOS追加したら詰む
>>219
phobosとdruntimeの一部はまんま載せてるのでライブラリはブーストにせざるを得ないかもわからんね
221:デフォルトの名無しさん
12/04/18 00:13:15.89
src/dmd/root/ってなんなんなん?
Cなん?C++なん?
222:デフォルトの名無しさん
12/04/18 00:27:08.72
>>221
拡張子はcだが中身はc++
223:デフォルトの名無しさん
12/04/18 01:19:44.53
しまった、見逃していた。次からはこれもテンプレにいれよう
URLリンク(bm98.yaneu.com)
224:デフォルトの名無しさん
12/04/18 12:58:43.69
C/C++ に疲れた人の D 言語 2.0
URLリンク(www.ie.u-ryukyu.ac.jp)
これも入れよう
225:デフォルトの名無しさん
12/04/18 14:00:31.96
Dだと仕様変更で疲れる
226:デフォルトの名無しさん
12/04/18 17:46:39.63
wikipedia の記事の構成を少し直した
手を入れやすくしたつもり
227:デフォルトの名無しさん
12/04/18 23:02:34.12
>>224
>C/C++ に疲れた人の D 言語 2.0
それ私の書いたやつそのまんまなんだけど何なんだろうなあ。ローカルにデータ落としてたのかな。
228:デフォルトの名無しさん
12/04/18 23:22:07.15
琉球大吹いたw
229:デフォルトの名無しさん
12/04/18 23:47:16.40
>>227
ついったに凸
230:デフォルトの名無しさん
12/04/19 00:52:29.06
読んだことあるなと思ったからURL移転してたのかと思ったけどぜんぜん違うのかww
231:デフォルトの名無しさん
12/04/19 16:38:41.93
Changed lexer to support # as a token, preserving #line's original behavior
うーん…
これはどういうものなのか教えて下さいな
232:デフォルトの名無しさん
12/04/19 17:10:06.48
>>231
"ABC" の " が単体でトークンじゃないのと同じように
# は
#line NUM FILE 改行
という特殊なトークンの一部として扱われていた
それが単体でトークンとして扱われるようになった
つまり何が変わるかというと、
q{ } というDのトークンだけを記述できる文字列の中で
# を単体で使用することができるように・・・
ならないじゃねーか、コンチクショウっ!!
233:デフォルトの名無しさん
12/04/20 01:58:15.15
とりあえずの内部的な変更ってやつだな
234:デフォルトの名無しさん
12/04/20 02:34:11.67
>>208
協力者歓迎らしい @ github
URLリンク(github.com)
235:デフォルトの名無しさん
12/04/21 06:35:30.28
std.container.ArrayをVectorみたいな使い方しようと思ったけど中身のポインタ取れないんだねこれ
236:デフォルトの名無しさん
12/04/21 15:49:08.49
Dで実装した日本語全文検索システムがiccでビルドったやつより早くてワロタ
あとはCGIとして動かせれば・・・・・・。
237:デフォルトの名無しさん
12/04/21 16:41:10.01
>>235
どんな使い方かわからんからなんとも
238:デフォルトの名無しさん
12/04/21 16:56:34.81
>>236
そこまで書いたということは・・・分かるな?
239:デフォルトの名無しさん
12/04/21 17:02:47.97
スクリプトやインタプリタじゃねーんだからライブラリをまるっとスタティックリンクすりゃーイイだけじゃん?
240:デフォルトの名無しさん
12/04/21 17:07:10.67
(; ・`д・´)…ゴクリ…
241:デフォルトの名無しさん
12/04/21 17:40:15.20
64bitで動かないんじゃ
242:デフォルトの名無しさん
12/04/21 19:59:20.28
>>235 をなんとかできないかなーと、std.container.Arrayいじってたんだけど、バグかと思われる。
URLリンク(ideone.com)
(dmd2059xWindows)修正がてら追加した Array.Range.ptr を public にしとけば 235 も喜ぶんじゃないか?
243:デフォルトの名無しさん
12/04/21 20:07:00.82
ばぐぅぅぅ
244:デフォルトの名無しさん
12/04/21 20:35:43.76
>>236
Cと同じやり方でうごかせるんじゃねーの?
245:デフォルトの名無しさん
12/04/21 20:51:12.08
>>244
サーバーがdmdが対応してないOSとかじゃね?
246:デフォルトの名無しさん
12/04/21 21:21:29.22
>>245
GDC版使ってみるとか。
クロスコンパイラだし、試してみる価値はあるはず。
247:デフォルトの名無しさん
12/04/21 21:23:02.28
gdcって1.0系じゃ・・・
248:デフォルトの名無しさん
12/04/21 22:40:26.20
std.algorithm.mapにクロージャ渡したい
249:デフォルトの名無しさん
12/04/21 22:58:58.36
>>245
どっこい動かないんだよなぁLinuxなのに。gccバイナリはフツーに動くのに謎だ。ABIのせいか?
250:デフォルトの名無しさん
12/04/21 23:51:13.27
>>249
もしかして、HTTPヘッダ送信してないとか?
251:デフォルトの名無しさん
12/04/22 00:17:13.56
俺のエスパーによると権限の問題だ
252:デフォルトの名無しさん
12/04/22 11:35:17.62
>>248
mapもどきを自作しる
253:デフォルトの名無しさん
12/04/22 11:38:50.40
>>249
俺のエスパーによると
・文字コード
・実行ファイル名に依存する設定の漏れ
・リンケージ指定の漏れ(エントリポイントがmain以外の場合)
254:デフォルトの名無しさん
12/04/22 16:43:46.37
今さら気づいたけど何でコレ出来ちゃうの? おかしいだろ
enum { A=1,B=1 }
255:デフォルトの名無しさん
12/04/22 17:24:05.52
toImpl!ENUM とか final switch とか整合取れないと思うんだけどな~
256:デフォルトの名無しさん
12/04/22 17:37:27.49
>>255
ヒント
・宣言は式に含めることはできない
・無名enumは型宣言では無い
257:デフォルトの名無しさん
12/04/22 19:18:56.08
するとtypeof(A)はintになるのか
258:デフォルトの名無しさん
12/04/22 20:10:49.65
>>257
その発想は無かった。
ので、試してみた。
URLリンク(ideone.com)
259:254 訂正
12/04/22 20:17:38.19
今さら気づいたけど何でコレ出来ちゃうの? おかしいだろ
enum E { A=1,B=1 }
260:デフォルトの名無しさん
12/04/22 21:16:03.50
>>259
結局何が言いたいんだ。
261:デフォルトの名無しさん
12/04/22 21:40:49.13
列挙型 が値の重複を許すというのがC系言語の伝統であるという
衝撃の事実をもってこの討論の終わりとしたい
な、納得なんかしてないんだからね、誤解しないでよねっ
262:デフォルトの名無しさん
12/04/23 00:40:18.85
enum E { A=1,B=1 }
static assert(E.A != E.B);
これがだめなのが悲しいってことでしょ
263:デフォルトの名無しさん
12/04/23 02:30:05.95
>>259
理由:列挙子の別名を許すため
enum E { A=1, B=A } // E.BはE.Aの別名
final switchはちゃんと別名を判断してくれる
enum E { A=1, B=A }
void main() {
E e = E.A;
final switch (e) {
case E.A: break; //E.AだけでOK
}
final switch (e) {
case E.B: break; //E.BだけでOK
}
}
264:デフォルトの名無しさん
12/04/23 03:06:00.40
E.T == alian
265:デフォルトの名無しさん
12/04/23 15:10:41.07
alias E.T alien;
266:デフォルトの名無しさん
12/04/23 15:24:17.25
alian を align に空目した俺は、
>>234 には協力できそうにないな・・。
267:デフォルトの名無しさん
12/04/23 15:37:02.70
クロージャ周りでGCのバグ無いか
発生条件わからんが
268:デフォルトの名無しさん
12/04/23 15:51:06.89
GCじゃないな
クロージャ使うとローカル変数が逝ってセグフォ
クロージャの引数型ちゃんと書いたら起こらなくなった
似たような症状ない?
269:デフォルトの名無しさん
12/04/23 16:19:56.62
構造体リテラルと見分けづらい書式だったり?
270:デフォルトの名無しさん
12/04/23 18:50:21.09
>>261
歴史的な理由で、同じ値を使うのが適切なこともある。
例えば文字コードのこれとかw
enum CharctorSet
{
Shift_JIS = 932
SJIS = 932
x-sjis = 932
MS_Kanji = 932
}
271:デフォルトの名無しさん
12/04/23 19:24:27.54
あー納得した
納得したのはいいが
いつになったらMS932がちゃんと使えるようになるのだということを思い出して悲しくなった
272:デフォルトの名無しさん
12/04/23 22:44:14.61
え?
D言語を使っている外国人は
UTF-8かUTF-16で我慢しろってお達しだけど
知らなかったの?
273:デフォルトの名無しさん
12/04/23 23:01:33.95
C#のEncodingみたいなのくれよ
274:デフォルトの名無しさん
12/04/23 23:07:06.58
>>273
言いだしっぺ登場!待ってました!
275:デフォルトの名無しさん
12/04/23 23:26:59.10
URLリンク(site.icu-project.org)
興味はある。
やる気が続くかは知らない。
応援されたらやる気出る・・・かも?
276:デフォルトの名無しさん
12/04/23 23:58:33.05
今年も自分の誕生日を知らせるソフトが起動した
もう二度とコンパイルできないけどな
277:デフォルトの名無しさん
12/04/24 00:17:37.84
こんな悲しいレス見たの初めてだ
278:デフォルトの名無しさん
12/04/24 00:18:46.48
ソースをアップデートしてないからコンパイルできないって意味だよなw
279:デフォルトの名無しさん
12/04/24 00:19:11.98
おめでと…ううっ
280:デフォルトの名無しさん
12/04/24 00:20:50.23
他の言語にパッケージマネージャが整備されているように、
Dにはコンパイラマネージャが必要なのだ
281:デフォルトの名無しさん
12/04/24 00:24:34.05
>>278
D2できたばっかりの頃ののコードだからな
>>279
ありがとう
D言語10周年記念にはDちゃんの同人誌を出そう
282:デフォルトの名無しさん
12/04/24 00:34:15.28
これか・・・
URLリンク(www.city.daito.lg.jp)
283:デフォルトの名無しさん
12/04/24 00:38:55.56
>>282
それだけ愛嬌溢れるマスコットならどれだけ普及していたか
284:デフォルトの名無しさん
12/04/24 02:00:42.04
URLリンク(i40.tinypic.com)
285:デフォルトの名無しさん
12/04/24 02:18:50.61
.o o
< /
p ~q
|д >
|,__/
./ >
J L
286:デフォルトの名無しさん
12/04/24 09:14:48.89
Ver指定で自動変換してくれるソフト欲しい。
自動で出来ない所は指摘してくれれば良し。
287:デフォルトの名無しさん
12/04/24 09:52:28.53
var指定で自動変数にしてくれる現状のdmdで我慢汁!
288:デフォルトの名無しさん
12/04/24 10:51:52.93
そういうのを自動でしづらい奴が deprecated されていくのではないか
リリースごとに移行ガイドはあっていいと思うけど
289:デフォルトの名無しさん
12/04/24 11:37:38.87
#! /bin/dmd-manager 2.058
import std.stdio;
void main() { ... }
290:デフォルトの名無しさん
12/04/24 15:42:25.90
このVerのdmdで通ったと指定すると、最新リリースに自動変換かけて、移行ガイド+注意点+対象行を表示する感じ。
標準リリース内容全てをやってくれるとありがたい。Ver履歴を自力でたどるの面倒。
あと公式サイトのコード例が一部動かないけど、サイト全体をautobuild管理しないの?
公式サイトの文書も文書担当コミッタがバグ管理とか。
D言語はじめたばかりなんで、的外れだったらスマン。
291:デフォルトの名無しさん
12/04/24 16:02:47.60
公式はウォルターの趣味サイトだからなあ
292:デフォルトの名無しさん
12/04/24 16:49:23.66
公式サイトもバグレポ対象
293:デフォルトの名無しさん
12/04/24 16:54:43.14
>>290
そういう足枷をなくしてやりたい放題なところが
Dのよいところでもあり、悪いところでもあり、悪いところでもあり、わ(ry
Java+Eclipse みたいに
枠にはめて手取り足取りなのに憧れを感じはするけども
294:デフォルトの名無しさん
12/04/24 17:14:44.26
あるいは開発サイドにそのような概念を持ち合わせていないという可能性も
295:デフォルトの名無しさん
12/04/24 17:58:59.32
>>293
悪いところが(ry
やりたい放題は良いんだけど、VerUP補助ツールくらいは作れるはず。
ツールを通すと自動で出来る所は勝手に変換して、人力部分は行数と変更点を表示。
表示行を手動で直せば最新で通る、みたいな。
296:デフォルトの名無しさん
12/04/24 22:33:02.90
仕様変更についてはChangeLogから作れるかもしれないけど
副作として生じたバグや挙動変化もあるから
簡単じゃないと思う
297:デフォルトの名無しさん
12/04/25 00:21:26.95
Google Code Jam のせいで Dの注目度が少し高まっているらしい
298:デフォルトの名無しさん
12/04/25 00:26:48.83
仕様にない挙動変化やバグは他の言語でもあるから、仕様部分だけでもやってくれると楽。
299:デフォルトの名無しさん
12/04/25 12:30:36.97
dmdさん、ミスタイプ用の識別子予測でdeprecatedの関数薦めないでください
300:デフォルトの名無しさん
12/04/25 19:58:19.18
うぉるたくん「そのくらいのことで いちいちさわぐな」
301:デフォルトの名無しさん
12/04/25 21:22:09.97
うぉるたくん「やっぱり ぼくが かんがえた ぷろぐらむげんごが いちばん つよいんだ」
302:デフォルトの名無しさん
12/04/25 21:30:35.49
けっきょく Dが いちばんつよくて すごいんだよね
303:デフォルトの名無しさん
12/04/25 21:41:56.48
でぃー「わたしを つかいたいのならば ちからをしめせ」
304:デフォルトの名無しさん
12/04/25 22:33:09.90
D.NET欲しいわ……
305:デフォルトの名無しさん
12/04/26 22:24:23.40
自作の試作コンパイラを試しにpragmaでバージョン指定できるようにしてみたんだけど
ver.毎のphobosのライブラリとソース、レキシカルアナライザを載まなきゃいけないから
コンパイラがアホみたいにでかくなる
ちょっと実用的じゃないね。。。
306:デフォルトの名無しさん
12/04/26 22:32:24.22
>>304
ネイティブ動作という一番のD言語の使用動機を全否定かッ
307:デフォルトの名無しさん
12/04/26 22:42:12.91
そこはnewest version に対するdiff添付で
LTPT (linktime patch technology)だろ!
308:デフォルトの名無しさん
12/04/26 23:04:49.83
>>307
似たような考えでコンパイル時コンパイラ自動生成も今書いてる
鈍足のC++じゃ絶対できないな
309:デフォルトの名無しさん
12/04/26 23:08:14.61
まさかのこのD言語はD言語で書かれています?
310:デフォルトの名無しさん
12/04/26 23:09:12.14
無論 D by D ですよ
311:デフォルトの名無しさん
12/04/26 23:19:05.15
バージョンアップが辛いと思う人はD使わない方が幸せになれると思う
312:デフォルトの名無しさん
12/04/26 23:54:18.92
CだかC++じゃなかった?
313:デフォルトの名無しさん
12/04/27 00:04:30.51
これってウインドウズのGUIのソフトとか作れんの?
314:デフォルトの名無しさん
12/04/27 00:09:13.91
32bit版限定ならそれなりに。
APIを使いこなせる人じゃないと厳しいだろうけど
315:デフォルトの名無しさん
12/04/27 00:19:18.35
理論上はなんでも作れるけど・・・
ライブラリが整備されてない所はすんごく大変w
316:デフォルトの名無しさん
12/04/27 00:24:28.61
今時のを作りたいなら.NET+WPFだろうね
317:デフォルトの名無しさん
12/04/27 00:32:02.64
なるほどありがとうエロい人たち
ローレベルから掘ってく感じなのね
318:デフォルトの名無しさん
12/04/27 00:48:46.30
高レベルなライブラリが出来にくいのは
言語~ライブラリレベルで破壊的な仕様変更が頻繁に行われているからだよ
そういうのが嫌ならうぉるたくんをひっぱたいて反省させてあげてね
319:デフォルトの名無しさん
12/04/27 01:26:20.20
あ、対話環境欲しいです。
320:デフォルトの名無しさん
12/04/27 01:42:29.62
あたいも環境ほしいです。
321:デフォルトの名無しさん
12/04/27 08:52:23.48
>>313
手っ取り早くWin32のAPI使いたい場合、今もメンテされてるのは
URLリンク(www.ku6.jp)
と
URLリンク(pen-jr.org)
>>30の人がDWMAPIとか使ってる。
322:デフォルトの名無しさん
12/04/27 11:42:56.02
>>321
あれ、dsource.orgのやつはもはや古いのか……?
323:デフォルトの名無しさん
12/04/27 18:43:23.22
ライブラリの情報ってどこで取れば良いの?
324:デフォルトの名無しさん
12/04/27 20:59:24.44
ついったで呟く
325:デフォルトの名無しさん
12/04/27 21:28:10.91
ついったはまず名無しにしてくれ
変化が大き過ぎるから都度聞くしかないか
326:デフォルトの名無しさん
12/04/27 21:30:40.92
実はD言語って今でも普通に使ってたり使えてたりする人多いんかな
327:デフォルトの名無しさん
12/04/27 21:32:29.72
一年前と比べるとかなり実用レベル
328:デフォルトの名無しさん
12/04/27 21:49:43.72
なんかの大会だかコンテストで参加者のコードが見れるんだけど1位の人がD言語使ってたってちょっと話題になったよね。
329:デフォルトの名無しさん
12/04/27 22:19:40.07
今だからこそ前より使える
330:デフォルトの名無しさん
12/04/27 22:51:58.18
これだな 今から参加できるのかな?
URLリンク(code.google.com)
331:デフォルトの名無しさん
12/04/28 03:56:40.05
cast(auto)とか出来るようにならないかなあ
332:デフォルトの名無しさん
12/04/28 06:03:59.12
何その暗黙的明示キャスト
333:デフォルトの名無しさん
12/04/28 07:36:03.54
= の右側に単独にある場合や
関数の引数に単独にある場合に使うのか
334:デフォルトの名無しさん
12/04/28 10:05:52.19
そりゃ言語じゃなくてIDEの機能だべ
335:デフォルトの名無しさん
12/04/28 13:05:32.23
それいったらauto自体がIDEの機能だし
テキストエディタで書きやすいって特徴を伸ばすのはありだと思う
336:デフォルトの名無しさん
12/04/28 13:09:12.51
支援機能無しじゃとても書いてらんねえマークアップ言語とか
わざとやってんじゃねーかと思えるテキストデータ形式が増えたよね
337:デフォルトの名無しさん
12/04/28 13:13:41.29
Javaとかエディタで書くと苦痛そのものだがDではその苦痛がほとんど無い
templateのカッコ省略とかも何気にステキ機能
338:デフォルトの名無しさん
12/04/28 13:19:18.37
IDEが必要なのは抽象化機能の不足
339:デフォルトの名無しさん
12/04/28 13:42:34.66
auto はテンプレートとかクロージャのために必要と思ってる
>>331 は 中身わからないけど alias とか使うと幸せかも知れない
340:デフォルトの名無しさん
12/04/29 00:57:23.74
pure nothrow @safe const とか長い修飾子ちゃんと付けてるひといるのか
341:デフォルトの名無しさん
12/04/29 01:16:59.61
その前に、Dのcastって、相当低レベルな処理だぞ。
簡単にautoとか出来るような処理してないぞ。
342:デフォルトの名無しさん
12/04/29 02:24:19.29
constとinとimmutableはつける
後は……
343:デフォルトの名無しさん
12/04/29 10:27:03.09
autoがvarに変更にならないかな
Cのauto変数と意味が違うからどうも
344:デフォルトの名無しさん
12/04/29 11:41:02.15
c++11と同じだから問題ない
345:デフォルトの名無しさん
12/04/29 12:11:06.92
@safeとかnothrowとか微妙に推論してくれるようになった気がしたけどそんなことはなかったぜ
346:デフォルトの名無しさん
12/04/30 07:00:25.31
poseidonって完全更新とまってる?
() => (...) があるとparserが失敗する・・・
347:デフォルトの名無しさん
12/04/30 13:07:09.03
なんか前はinPatternでa-z指定してもA-Zにマッチしてたような気がしたけど
いましないねいつ変わったんだろう それとも気のせいかな・・
348:デフォルトの名無しさん
12/04/30 13:34:36.07
>>346
死んでるなぁ→どっこい生きてた→死んでるなぁ→どっこい生きてた→死んでる ←いまここ
349:デフォルトの名無しさん
12/04/30 13:49:30.91
>>346
ソースのライセンスも明記されてないような・・・
350:デフォルトの名無しさん
12/04/30 15:46:17.03
VisualD使え捗るぞ
351:デフォルトの名無しさん
12/04/30 18:12:02.99
VS2008だとShell入れないといけないし、VS2010は登録しないと使えないし・・
352:デフォルトの名無しさん
12/04/30 21:41:31.93
visualDってプロジェクトごとにライブラリやインクルードするフォルダの設定とかできる?
353:デフォルトの名無しさん
12/04/30 22:14:57.47
だれかblazeって使ってる人いる? box2dをD言語に移植したやつらしい.
これやるのとbox2dをC経由で使うのとどっちのがいいのかなぁ
354:デフォルトの名無しさん
12/05/01 01:07:30.21
18スレ目見る限り(Demoを)動かした人は多数いる模様
355:デフォルトの名無しさん
12/05/01 01:18:27.48
これのライセンスって商用利用時にも使いましたと明記する必要なしって読めたけどあってる?
でも2009以降の更新がないということは・・・・
356:デフォルトの名無しさん
12/05/01 02:42:29.15
blazeコンパイルしてみたけど挙動がおかしい\(^o^)/
357:デフォルトの名無しさん
12/05/01 13:32:47.13
>>356
2.059でmakeかけたらコンパイラに怒られまくったorz
358:デフォルトの名無しさん
12/05/01 15:03:26.23
自分で機能追加とかする気がなければラッパーで・・・って
C++じゃそうもいかんべ
359:デフォルトの名無しさん
12/05/01 16:27:47.44
>>357 2.059でもinoutとビット演算の部分なおしただけでコンパイルは通ったけど・・・
360:デフォルトの名無しさん
12/05/01 17:12:51.04
LF改行の中に CRLF が混じってて行番号ずれに悩んだ・・・ぐぬぬ
361:デフォルトの名無しさん
12/05/01 17:15:50.71
>>359
他にも↓とか直したんだけど
・final→immutable
・変数名lambda→別名
・no reachなんたら
・final switch
・@property
↓なんぞ・・・・
bzNullContactに2引数のコンストラクタ持たせても消えない・・・
.\dynamics\contact\bzContact.d(120): Error: null dereference in function _D5blaze8dynamics7contact9generator13bzNullContact13bzNullContact6__ctorMFZC5blaze8dynamics7contact9generator13bzNullContact13bzNullContact
362:デフォルトの名無しさん
12/05/01 17:35:13.99
>>361
class bzNullContact : bzContact
{
this() {
super(null, null); // 実行時にぬるぽ
}
}
いや、コンパイラがそんなとこまで頑張らなくていいから・・・w
363:デフォルトの名無しさん
12/05/01 17:36:40.42
コンパイラじゃなくてオプティマイザの仕業だったかも
364:デフォルトの名無しさん
12/05/02 00:29:24.64
とりあえずこれでdmdは大人しくなってlib作れたけど
そもそも元のソースで構造体変数にnullをセットするようになってたのはOKなのか・・・
class bzNullContact : bzContact
{
private bzShape s1_;
private bzShape s2_;
this()
{
super(s1_, s2_);
}
override void evaluate(bzContactListener listener) {}
}
365:デフォルトの名無しさん
12/05/02 01:07:28.28
helloWorld.dを実行すると
一辺1.0のBoxが y=4.0 から自由落下した結果
y座標が3.9972~0.9972まで変化して表示されるんだけどこれって正しい動作?
0.0028ずれてない・・・?
366:デフォルトの名無しさん
12/05/02 08:29:26.71
>>364
新しいdmdは賢いからそういうおかしなコードは通らない。元々許してたのがおかしいんだけど。
367:デフォルトの名無しさん
12/05/02 11:37:01.30
VisualD 0.3.32
368:デフォルトの名無しさん
12/05/02 19:14:41.32
>>365
それもおかしいし,落とす物体の初期x座標を0.01ほどずらすともはやカオス
369:デフォルトの名無しさん
12/05/03 23:34:36.20
ふとしたことからiniファイル読むプログラム作るはめになりそうなんだけど
std.iniって結局phobosに入るの?
370:デフォルトの名無しさん
12/05/04 00:08:48.17
わざわざ入れるほどのものでもない
ほしければ自分で取り込めばイイ
機能追加とかも考えにくいし
371:デフォルトの名無しさん
12/05/04 01:31:33.64
入らないっぽいのか
じゃあ自作するかー。Dなら5秒で書けるだろ
372:デフォルトの名無しさん
12/05/04 02:56:38.92
なんかblazeメンテされてないから最新のBox2DをBox2D4Dとかの名前で移植しようかと思ったけど
全部だとめんどいですね。ポーティングの方がいいのかな。でも元ソースがC++という・・・
373:デフォルトの名無しさん
12/05/04 21:55:08.86
D言語で構造体変数の参照(非ポインタ)をreturnする場合って↓みたいにすればコピーコンストラクタ走らないですか?
ref const(S) f(){return m_s;}
C言語で言うと↓見たいのがやりたいです
const S& f(){return m_s;}
374:デフォルトの名無しさん
12/05/04 22:29:45.50
>>373
戻り値のref は左辺値として使う時専用みたい。
構造体Sにint x; というメンバがあるとして、
f().x = 10; // コピーコンストラクタは走ってない。
戻り値を代入すると、
auto s = f(); // コピーコンストラクタが走る。
みたいな感じ。
375:デフォルトの名無しさん
12/05/05 02:05:15.04
あれ・・D言語のstructがわけわからない・・・2が表示される
sの参照がssにセットされるからss.aに値を代入すればs.aも連動するはずじゃないのかな
コピーコンストラクタも動いてないし何が起きてるのかさっぱり
import std.stdio;
struct S
{
int a;
this(int a){this.a = a;}
this(this){
writeln("copy ctor!");
}
}
ref S f(ref S s)
{
return s;
}
void main()
{
S s = S(2);
S ss = f(s);
ss.a = 101;
writeln(s.a);
}
376:デフォルトの名無しさん
12/05/05 02:07:40.10
ss を初期化する時点でコピーされる
C++ の参照でも同じじゃん
377:デフォルトの名無しさん
12/05/05 02:22:08.78
コピーされたなら コピーコンストラクタのthis(this);が呼ばれない?
"copy ctor!"が出力されてないからthis(this);が呼ばれていない⇒コピーされていないって思ってるのだけど
378:デフォルトの名無しさん
12/05/05 02:46:11.89
this(this) はビットコピーが完了した後呼ばれる・・・呼ばれてないな
379:デフォルトの名無しさん
12/05/05 02:50:30.52
D2の構造体は複雑だなあ・・・
URLリンク(ideone.com)
バージョンが古いので、最新版でどうなってるかは分からん。
380:デフォルトの名無しさん
12/05/05 02:56:24.92
もう少し詳しく。
URLリンク(ideone.com)
381:デフォルトの名無しさん
12/05/05 16:39:51.62
>>372
フォーラム見てるとBox2D4Dってプロジェクトはアルっぽいけど動いてなさげ
box2dをDに移植するのと,blazeをD2に移植するのどっちが楽なんだろ.blazeはどの程度使いまわし出来るんだろ
382:デフォルトの名無しさん
12/05/05 18:38:09.08
>>381
・blaze⇒D2
ほぼsed等の置換でD2に対応出来た
元のソースのバージョンが古いためスプライト描画等の機能が少ないと思われる。
挙動がおかしい?
最新版のbox2dとはファイル構成をはじめ結構違う
・最新のbox2d⇒D2
移植めんどい
C++等でbox2Dを使用したソースを流用しやすい(古い版を使用したソースはその辺に転がってない・・)
blazeのベースとなった当時よりbug fixされていて安定していると思われる
383:デフォルトの名無しさん
12/05/05 23:03:01.91
>>380
なんか"this"の出力多いな、と思ったんだが、opAssign の副作用で呼ばれてるのか
URLリンク(ideone.com)
これ見る限りでは >>375-378 にあたる"-3-"で"this"が出力されないところだけおかしいってとこかな。
384:デフォルトの名無しさん
12/05/05 23:22:34.43
copy on writeとかの処理ミスってるぽい動きだなあ
385:デフォルトの名無しさん
12/05/06 16:40:05.29
ビットコピーだけして終了してる感じなのだろうか
386:デフォルトの名無しさん
12/05/06 21:38:32.29
SQLiteって今のDでだれか使ってる?
すぐに使えるのなら使ってみたいんだけど。
387:デフォルトの名無しさん
12/05/06 21:45:12.81
検索したら出てきた
URLリンク(d.hatena.ne.jp)
388:デフォルトの名無しさん
12/05/06 21:52:33.17
生のC用APIそのままでいいなら普通に使ってるよ
389:デフォルトの名無しさん
12/05/06 22:58:43.31
Dを普通に使ってるのもすごいな・・・
390:デフォルトの名無しさん
12/05/06 23:01:06.57
ウィジェット・ツールキット以外は使えるんだよ、それ以外は。
391:デフォルトの名無しさん
12/05/07 23:17:28.41
shiftjisのファイル読みたいんだけど、Dで手っ取り早い方法ある?
392:デフォルトの名無しさん
12/05/08 01:47:58.64
>>391
WindowsでUTFを使う
今も使えるかは知らない
393:デフォルトの名無しさん
12/05/08 02:30:24.25
>>391
std.windows.charset.fromMBSz があるじゃなーぃ
URLリンク(dlang.org)
394:デフォルトの名無しさん
12/05/08 12:29:56.48
char*に突っ込む
395:デフォルトの名無しさん
12/05/08 19:42:46.79
jcode.d
396:デフォルトの名無しさん
12/05/08 23:02:25.71
Dを何気ないツール書くのに使うときってtemplateとか素敵機能使う?
俺ベターC++的な使い方以上なかなかできない
397:デフォルトの名無しさん
12/05/08 23:23:02.36
むしろテンプレートだと意識してないかもしれない
to!int(n) とか頻繁に出てくるし、
void foo(T)(T n) {} とか普通に書くよ
398:デフォルトの名無しさん
12/05/08 23:34:39.88
逆にテンプレートがないと書けない。
C++もboostがないと書けない。
399:デフォルトの名無しさん
12/05/08 23:59:58.61
(T)(in T[] list, ..){ ...
みたいのはよく使う
400:デフォルトの名無しさん
12/05/09 08:00:22.38
C++にない機能はあんまり使わないかも。
2進数リテラルとforeach、レンジ、スコープガードを使うくらいかな?
401:デフォルトの名無しさん
12/05/09 19:50:19.92
組み込みの連想配列とか配列スライシングは頻繁に使う
C++でもできるけど文法面がけったるいというか
あと型推論
文字列もimmutableになってるのは結構便利だったりするし
402:デフォルトの名無しさん
12/05/09 20:36:49.01
std.xmlめ、行内にascii以外の文字があるとインデントがでたらめになりやがる
どうせ直さないのはわかってるけど結局今phobosのXMLはどうなってるの?
403:デフォルトの名無しさん
12/05/10 01:25:04.60
C++のfriendとかどうやって移植すればいいんだ・・・
404:デフォルトの名無しさん
12/05/10 01:55:03.66
普通に同じモジュールで
405:デフォルトの名無しさん
12/05/10 03:14:18.14
private は、同じクラスのメンバのみが参照できる、 あるいは同じモジュールのクラス/関数のみが参照できることを示します。 private メンバをオーバーライドすることはできません。 モジュールのメンバを private と宣言するのは、 C での static宣言と同等です。
406:片山博文MZボット ◆0lBZNi.Q7evd
12/05/10 18:16:16.58
D言語のWin32 APIサポートは貧弱みたいだね。何かいいのある?
407:デフォルトの名無しさん
12/05/10 18:26:13.26
最近あんまり触れてなかったからよくは知らないけど
BindingsプロジェクトのWindowsAPIとか使えるんじゃね?
408:片山博文MZボット ◆0lBZNi.Q7evd
12/05/10 18:30:45.82
>>407 サンクスヴェリーマッチョ
409:デフォルトの名無しさん
12/05/10 20:14:30.52
>>404
C++の元のソースがあんまり関係ないクラスのprivateメンバをチラ見したいがためにfriend指定してるっていうひどい作りなので
そういうクラスたちを一緒のファイルに入れるのがすごく抵抗あるんだ
しかもそんな利用法のfriendが大量に並んでるからものすごいカオス
真っ当じゃない使い方のfriendに相当する機能がないってことは設計から見直すしかないのか・・・・・
410:デフォルトの名無しさん
12/05/10 20:26:14.75
>>409
1モジュールに全部詰め込んでしまえばいい。
411:デフォルトの名無しさん
12/05/10 20:33:34.07
>>409
なんだそのカプセル化の基本を無視したコーティングはwwww
逆に興味ある。
412:デフォルトの名無しさん
12/05/10 20:34:58.13
>>410
頭いいな!そうする
413:デフォルトの名無しさん
12/05/10 20:36:00.10
publicでいいんじゃね?w
414:デフォルトの名無しさん
12/05/10 21:05:36.02
ここまで作った。(なげやり)
URLリンク(ideone.com)
415:デフォルトの名無しさん
12/05/10 21:44:12.04
character
416:デフォルトの名無しさん
12/05/10 23:39:20.62
>>414
cast(immutable)なこと出来たのかー
417:デフォルトの名無しさん
12/05/11 00:05:18.70
実態は大差ないけどassumeUniqueの方がいいかもね
418:デフォルトの名無しさん
12/05/11 00:09:30.34
assumeUnique()の「決意表明である!」みたいな説明を見て
なんとなく不安になるのは俺だけじゃないはず
419:デフォルトの名無しさん
12/05/11 00:20:53.74
「コードを書く側がimmutable性を保証する」って意味だからそんなに怖がらなくても
420:デフォルトの名無しさん
12/05/11 00:22:36.71
心折れそう。(まだ途中)
URLリンク(ideone.com)
421:386
12/05/11 00:46:05.19
>>387,388
遅くなったけどありがとう
程々にがんばってみるよ
422:デフォルトの名無しさん
12/05/11 01:32:04.42
Linuxはiconv使えばいいかな
423:デフォルトの名無しさん
12/05/11 18:49:32.68
box2d4dのコードをD2用になおして動かしてみたんだ.
バウンドすらしねえ
424:デフォルトの名無しさん
12/05/11 20:33:47.56
SWIG でなんとかならんかな~と思ったけど
情報が少なすぎて手も足も出ない
425:デフォルトの名無しさん
12/05/12 09:27:59.41
これってどっちもOKじゃなかったっけ?1の方がエラーになる
1:
std.stdio.writeln("xxx");
2:
import std.stdio;
writeln("xxx");
-----------------------------------------------------------
Error: undefined identifier std
426:デフォルトの名無しさん
12/05/12 09:38:23.12
std.stdio.って付けてもimportの省略とかはできませんよ
同じ名前の関数が別モジュールで複数ある場合に「どこの」関数であるかを明確にするために使います
427:デフォルトの名無しさん
12/05/12 10:01:03.44
あれ?おっかしいなぁstd.conv.toはできるんだけど
↓とかv2.059でも行けた。でもwritelnの方にはつけるだけじゃだめぽい
import std.stdio;
void main()
{
writeln(std.conv.to!int("123"));
}
428:デフォルトの名無しさん
12/05/12 12:19:28.09
>>427
ただのバグです。static importが無視されるってのは大昔からある伝統的なバグ。
最近若干改善されたから >>425 が正しくエラーになるようになった。
URLリンク(d.puremagic.com)
429:デフォルトの名無しさん
12/05/12 12:22:26.74
ばぐっすかーなるほど
430:デフォルトの名無しさん
12/05/13 11:37:20.50
>>27-29
en.wikipedia の TLS には書いてあるのを見つけた
431:デフォルトの名無しさん
12/05/13 11:48:07.43
公式の Glossary に UFCS の項目がないのは重大な手落ちだと思うんだ
誰か(ry
432:デフォルトの名無しさん
12/05/13 23:11:49.02
いつからだ・・・・いつから
「new 構造体()」が実体じゃなくポインタを返すようになったんだ・・・・
433:デフォルトの名無しさん
12/05/13 23:17:16.99
構造体newの犠牲者がまた一人
434:デフォルトの名無しさん
12/05/14 00:01:48.44
実体を返してた時代があったのか・・・
Phobosがstruct使いまくりだした時代にはもうそれがなくなってたのかな?
435:片山博文MZボット ◆0lBZNi.Q7evd
12/05/14 11:10:32.63
誰かD言語用の入力補完システムを作ってくれませんか?
436:デフォルトの名無しさん
12/05/15 12:56:13.75
iconvの使い方って、本当にこれでいいのだろうか・・・
URLリンク(ideone.com)
437:デフォルトの名無しさん
12/05/15 16:09:06.52
WideCharToMultiByteは置き換えられない文字は?になるけどiconvは途中までの結果でエラーリターンしてくるぜ。
438:デフォルトの名無しさん
12/05/16 08:14:42.31
構造体をnewしたことないわw
439:デフォルトの名無しさん
12/05/17 09:12:29.92
D言語で書かれた国産ソフトってある?
ゲーム以外で。
440:デフォルトの名無しさん
12/05/17 10:07:56.85
うちの会社のデータ処理アプリ
分析やら整形やら
441:デフォルトの名無しさん
12/05/17 16:32:02.35
使えるようで使えないのがD言語
大した使用の差なんてないくせにいつまでもベータ版気取りやがって!!
442:デフォルトの名無しさん
12/05/17 16:40:32.33
別に値打ちこいてる訳じゃなくて
あまりに魅力無いからレイプしたいと誰も思わないだけ
443:デフォルトの名無しさん
12/05/17 19:10:50.98
GUIがろくに書けない時点で作れるソフトの選択肢が大幅に
444:デフォルトの名無しさん
12/05/17 19:14:20.52
標準入出力のパイプで通信してGUIの構築とか入力の受け取りとかやってくれるソフトないの?
445:デフォルトの名無しさん
12/05/17 19:48:02.92
gtk-serverとか?
破壊的変更毎に修正する手間はかけられない。
つまり普及の最大の障害人物は(ry
446:デフォルトの名無しさん
12/05/17 19:55:37.23
とりあえずstd.datetimeを捨ててくれたら使ってやる。
あれが必須レベルでリンクされるとか実用の妨げにしかなってない。
447:デフォルトの名無しさん
12/05/17 20:15:06.31
rdmdって単一ファイルにしか使えないの?
importで別の.dソースファイル参照するとか出来れば幸せなんだけども
448:デフォルトの名無しさん
12/05/17 20:44:38.62
>>439
URLリンク(www.vector.co.jp)
449:デフォルトの名無しさん
12/05/17 21:24:35.80
私に良い考えがある。
破壊的変更をしないベターC++としての、D--を作って普及させるんだ。
450:デフォルトの名無しさん
12/05/17 21:51:23.73
>>446
何があかんの?
451:デフォルトの名無しさん
12/05/18 07:44:25.00
でかいんでしょう
452:デフォルトの名無しさん
12/05/18 07:59:19.46
std.regexって今後小さくなるかな
GCとかも
453:デフォルトの名無しさん
12/05/18 19:58:34.30
間違いなく大きくなりますね
454:デフォルトの名無しさん
12/05/18 21:36:55.12
なんで?
今はまだ最低限の実装ってこと?
455:デフォルトの名無しさん
12/05/18 22:11:58.74
世代型のコピーGCェ・・・
456:デフォルトの名無しさん
12/05/18 22:52:06.53
こないだうぉるたんがGCまわりいじってたけど
世代型はまだまだ手付かずと思っていいのかな
457:デフォルトの名無しさん
12/05/19 01:41:44.18
GCなしオプションこい
GC使う機能は全て無効で
458:デフォルトの名無しさん
12/05/19 01:50:51.50
@nogc属性が追加されます
459:デフォルトの名無しさん
12/05/19 02:10:27.71
GC無しはD言語使う意味半減な気がするから、
もっと賢く軽くなって
460:デフォルトの名無しさん
12/05/19 03:17:55.19
組み込み用のクロスコンパイルくらいでしか使わない機能だな
461:デフォルトの名無しさん
12/05/19 03:40:57.58
関数のbodyのとこにelseって書けない?
こういうのしたい
void func(T)(T t)
if(is(T : xxx)){
}else if(is(T : yyy)){
}else{
}
462:デフォルトの名無しさん
12/05/19 03:52:35.59
static ifでどう?
463:デフォルトの名無しさん
12/05/19 08:39:24.59
とりあえず中身は遅くてもバグだらけでもいいから
インターフェイスを完璧に固めてくれ
464:デフォルトの名無しさん
12/05/19 12:42:00.76
>>462
そう思ってやってたんだけどなんかコンパイルエラーになるんだよなあ
URLリンク(ideone.com)
465:デフォルトの名無しさん
12/05/19 12:54:12.32
>>464
staticの付け忘れのようだ。
URLリンク(ideone.com)
466:デフォルトの名無しさん
12/05/19 12:58:13.43
うわああああああああああああああああああああ
そんなとこにもstatic・・・・orz
else ifってelseifじゃなくてelse{if}だったね、そうだね・・・勉強になった
467:デフォルトの名無しさん
12/05/19 17:24:04.84
Phobosに内部表現そのままでキャストする関数ってないのか?
*cast(type*)&varって書かないとだめ?
468:デフォルトの名無しさん
12/05/19 17:29:23.43
>>467
そんなことしてもメモリ配置は変わらないぞ。
型の変換をしたい →std.conv
同一の型か調べたい →is()式
469:デフォルトの名無しさん
12/05/19 18:04:09.56
>>467
もしかして、型情報だけ変えたい?
cast()でおk。
470:467
12/05/19 18:12:57.52
例えばuintの0x7fc00000をfloat.nanにしたいってこと
cast()だとnanにはならない
phobosに用意されてるのがあれば使いたいだけでポインタ通すままでもいいんだけど
471:デフォルトの名無しさん
12/05/19 18:59:27.07
>>470
ああ、これは確かに気持ち悪い。
URLリンク(ideone.com)
もしかして、これが必要だったりする?
std.math
pure nothrow @trusted real NaN(ulong payload);
payload の情報を埋め込んだ Quiet NAN を作ります
float に対しては、埋め込み可能な最大の payload は 0x3F_FFFF です。 doubles では 0x3_FFFF_FFFF_FFFF、 80-bit や 128-bit の real では、0x3FFF_FFFF_FFFF_FFFF が最大です。
pure nothrow @trusted ulong getNaNPayload(real x);
NAN から整数値のエラー情報を取り出します。
Returns:
ulong で payload を返す
float に対しては、埋め込み可能な最大の payload は 0x3F_FFFF です。 doubles では 0x3_FFFF_FFFF_FFFF、 80-bit や 128-bit の real では、0x3FFF_FFFF_FFFF_FFFF が最大です。
472:デフォルトの名無しさん
12/05/19 19:29:53.82
俺は*cast(T*)cast(void*)pとかやってるなあ
おまじない的にvoid*挟んでる
473:デフォルトの名無しさん
12/05/20 11:49:59.59
そろそろideoneもDのバージョン上げて欲しいなう
474:デフォルトの名無しさん
12/05/20 19:56:00.02
こういうのできないかな
a[0..10].func();→foreach(ref x; a[0..10])x.func();
475:デフォルトの名無しさん
12/05/20 21:15:25.28
UFCS的に不可
476:デフォルトの名無しさん
12/05/20 21:41:26.66
import std.algorithm;
a[0..10].map!(x=>x.func)();
これじゃダメなん?
477:デフォルトの名無しさん
12/05/20 21:49:13.62
>>475 やっぱり?
>>476 よいね
478:デフォルトの名無しさん
12/05/20 21:51:52.68
素直に書けばいいだけなのでは・・・
URLリンク(ideone.com)
479:デフォルトの名無しさん
12/05/20 23:25:37.69
ごめんね素直じゃなくって 夢の中なら言える
480:デフォルトの名無しさん
12/05/20 23:44:42.54
思考回路は ショート寸前
今すぐ 書きたいよ
481:デフォルトの名無しさん
12/05/20 23:47:08.69
ラムダ式って複文書けないのか・・・
実行されないと思ったら関数が返されてたっていうね
結果()=>{}()とか何の暗号だよ
482:デフォルトの名無しさん
12/05/20 23:49:44.66
それがλ式
483:デフォルトの名無しさん
12/05/21 00:20:37.03
(args){}のargsが空の時省略できる代償
Scalaに慣れてる人は戸惑いそう
それでなくとも文としての{}は単なるスコープになるし関数リテラルは=>デフォでいいんじゃ…と思ったけどコンパイル処理が
484:デフォルトの名無しさん
12/05/21 05:56:35.57
結論:
関数リテラルでよかった。
485:デフォルトの名無しさん
12/05/21 08:10:16.83
λ式って単に記述がシンプルに書けるってだけの存在なのかな。
486:デフォルトの名無しさん
12/05/21 08:23:06.75
","演算子多用してこうぜ
487:デフォルトの名無しさん
12/05/21 11:04:29.70
カンマ演算子は滅びるべき
()なし関数リテラルも滅びるべき
ラムダは言語の機能・特徴を一言で表せる点で有意義
488:デフォルトの名無しさん
12/05/21 22:13:00.95
プールしたメモリを使用するnewを提供するテンプレートクラスください
489:デフォルトの名無しさん
12/05/22 07:19:51.11
再利用の基準とかあるんだし
自分で作れよ
490:デフォルトの名無しさん
12/05/22 16:19:22.94
条件コンパイルの version識別子を複数一括で変えたくなったとき
もうちっと気の利いた手段がほしいな
version -> ファイルをまたぐ -> static if + enum
-> 共通ヘッダにまとめて public import -> カコワルイ
491:デフォルトの名無しさん
12/05/23 15:05:06.10
int型数個のみ入ったshared構造体から値コピーしてsharedを外すにはどうすればいいんですかね
492:デフォルトの名無しさん
12/05/23 15:23:30.65
>>491
URLリンク(ideone.com)
493:デフォルトの名無しさん
12/05/23 15:27:01.76
S d = cast()s;
ideoneは古過ぎて検証目的には使えない
494:デフォルトの名無しさん
12/05/23 15:46:14.06
公式サイトの和訳も、すっかり古くなってきてるなぁ・・・
495:片山博文MZボット ◆0lBZNi.Q7evd
12/05/24 11:59:45.98
D言語をインストールする
URLリンク(katahiromz.web.fc2.com)
D言語ソースにShift_JISを埋め込む
URLリンク(katahiromz.web.fc2.com)
496:デフォルトの名無しさん
12/05/24 12:10:12.52
まさか今になってD1の新規記事を書かれるとは
497:片山博文MZボット ◆0lBZNi.Q7evd
12/05/24 13:50:22.41
DのWin32 APIのフルサポートをやっちゃうぞぉ! 乞うご期待。
498:デフォルトの名無しさん
12/05/24 20:04:21.59
>>497
public domainで既にあるしなんで今更
しかもAPI直叩きなんてポインタの嵐でDの良さ半減しちゃう
どうせならDのサポートするOS全部サポートするGUIライブラリにしてよ
499:デフォルトの名無しさん
12/05/24 20:42:58.04
まじでなんでD1
500:デフォルトの名無しさん
12/05/24 21:08:57.23
我々の界隈ではD1を選択することを逃げと呼ぶ
501:デフォルトの名無しさん
12/05/24 21:10:49.58
新しいGUIライブラリなんてもういらない
どうせやるなら既存のものを他のOSに対応させたり機能を洗練させたりすることに力を注いで
502:デフォルトの名無しさん
12/05/24 22:04:26.39
DWTはいいぞぉ、元がSWTで使い倒されてるだけあって機能不足だけはありえない
503:デフォルトの名無しさん
12/05/25 12:38:59.63
DWT をWindows で使う時ってどうなの?
ユーザー側でのランタイムのインストールとか
DLLやバイナリが水ぶくれになるとかがなければ使ってみてもいいけど
よくわからんw
気にしなくていいのかな
504:デフォルトの名無しさん
12/05/25 12:54:36.64
Q. The executable are big
A. Yes, this is still a problem. A DWT application with debug info can easily grow bigger than 10 MB.
The UPX tool can often compress the executable significant.
So it probably a good advice to use UPX for the programs release version.
URLリンク(www.dsource.org)
URLリンク(www.dsource.org)
URLリンク(www.dsource.org)
505:デフォルトの名無しさん
12/05/25 12:56:56.36
wxD のがいいんじゃない?
506:デフォルトの名無しさん
12/05/25 13:23:15.20
UPX使えとか投げやりな
507:デフォルトの名無しさん
12/05/25 13:43:58.15
>>504
ありがと
サイズの小さいやつを見かけて もしやと思ったけど残念
>>505
更新されてるのん?
508:デフォルトの名無しさん
12/05/25 15:13:04.57
immutable(byte)[] bytestring = ['a','b','c'];
string text = bytestring.to!string;
writeln(text);
writeln(text.length);
509:デフォルトの名無しさん
12/05/25 15:23:01.43
DWTはD2へのインストール法がわからん。
510:デフォルトの名無しさん
12/05/25 20:14:28.73
>>509
D1と同じやり方で使える
んだけど、実はsubmoduleが最新になってないことがあるので
最新のD2で使うにはpullかけて更新しなきゃいけなかったりする
git clone URLリンク(github.com)
cd dwt
git submodule init
git submodule update
git submodule foreach git pull origin master <- 全submoduleのpull
rake base swt
wxDはTreeCtrlがまともに動かなかったのは直ってるのかなぁ
511:デフォルトの名無しさん
12/05/25 21:55:26.78
>>510
サイトに書いてあるインストール法とチガ(ry
冗談はさておき、pullを含めてもエラーはstd.loader。
dwt/base/src/java/nonstandard/SharedLib.d(8):
Error: module loader is in file 'std/loader.d' which cannot be read
環境はarchのdmd2-git最新だけど、Linuxの開発者いないのかな。
512:デフォルトの名無しさん
12/05/25 22:13:25.07
2.059タグからstd.loaderを持って来たけど、
core.thread.Thread.sleepのdepricatedで止まった。
やはり向いてないのであきらめる。
513:デフォルトの名無しさん
12/05/25 22:34:50.53
>>511
linuxは手出してないわ…すまぬ
たぶん2.059の崩壊的変更で死んでると思う
514:デフォルトの名無しさん
12/05/25 22:54:10.77
>>510
お礼忘れてた。とんくす。
>>513
DはWin率が高い気がするな。
515:デフォルトの名無しさん
12/05/25 23:25:45.42
メリットないからな
516:デフォルトの名無しさん
12/05/25 23:56:30.22
linuxの場合はそれこそGtkDとかが相性良さそうな気がするな
Windowsで使うとDLLだらけになって死ぬ
517:デフォルトの名無しさん
12/05/26 00:36:50.00
GtkDはtypedefをaliasに直す作業がいる
518:デフォルトの名無しさん
12/05/26 01:01:10.42
class A{}
class B : A{}
A b = new B();
typeof(b) ←A
実際のインスタンスの型のBが知りたい場合どうすればいい?
519:デフォルトの名無しさん
12/05/26 01:07:29.50
A a;
if (なんか分岐)
a = new B;
else
a = new C;
こうなると「型」を得るのは無理。
実行時型情報ならclassinfoプロパティで取れる
writeln(a.classinfo);
520:デフォルトの名無しさん
12/05/26 01:22:38.19
可能性のある型全部にcastしてみるとか
521:デフォルトの名無しさん
12/05/26 14:53:36.76
classinfoどうもです
522:デフォルトの名無しさん
12/05/26 16:50:46.09
>>511
Ubuntu10でやってみたけどstd.loaderがなんとかとは言われなかった
何か別の問題があるのかなぁ
以前はlinuxの方メンテしてくれてた人がいたんで当て込んでたんだけど動きない…
とりあえず動くようにはしてpull request出しときました
523:デフォルトの名無しさん
12/05/26 16:54:13.60
あれ、というかArch版Phobosにはstd.loader無いの?
524:デフォルトの名無しさん
12/05/26 17:23:36.68
>>522
調べたら2.059以降に削除。かなり昔にdepricatedが出てる機能。
ただ2.059で入れ直しても別のdepricatedエラーで無理だったからメンテナが居ないっぽい。
525:デフォルトの名無しさん
12/05/26 17:39:56.23
するとphobosは標準で動的ロードができないのか
tangoの時代来るな
526:デフォルトの名無しさん
12/05/26 18:25:00.08
tangoはもう眠らせてやってくれ
527:デフォルトの名無しさん
12/05/27 00:29:57.33
というかいい加減眠ってくれ
528:デフォルトの名無しさん
12/05/27 17:31:27.41
これの処理結果はどうなる?
assert([] == null);
assert("" == null);
assert([] is null);
assert("" is null);
529:デフォルトの名無しさん
12/05/27 18:40:21.65
1.空配列はnull
2.文字列比較演算子オーバーライドでnullと判断される?
3.空配列はnull
4.""は'\0'が末尾に付くのでnullじゃない
530:デフォルトの名無しさん
12/05/27 19:45:50.37
Dの空文字列は[]じゃないの?どちらにしてもemptyの使用を推奨
531:デフォルトの名無しさん
12/05/27 19:49:09.79
""は長さは0だけど、C(ゼロ終端)用に、その奥にヌル文字が付いてる。ただしリテラルに限る
532:デフォルトの名無しさん
12/05/27 20:06:16.29
コンパイルエラー
false
コンパイルエラー
false
でw 適当ww
533:デフォルトの名無しさん
12/05/27 20:41:44.70
バグくさいけど
知っておかないとそのうち痛い目に遭う
534:デフォルトの名無しさん
12/05/27 22:06:59.07
仕様通りじゃね?
俺は不思議には思わん
535:デフォルトの名無しさん
12/05/27 23:06:54.64
true
true
true
false -- assertion error
2番目が false あるいはコンパイルエラーなら納得できるんだが
暗黙変換でもしてるのか?
536:デフォルトの名無しさん
12/05/27 23:11:05.81
配列の==比較は
1. 長さをチェックして異なればfalse
2. 各要素foreachで、==演算子がfalseならfalse
3. trueを返す
2番は両方の要素数が0ならそもそも行われないので
falseを返す要素が無いのでtrue
537:デフォルトの名無しさん
12/05/27 23:15:51.26
公式の等値式と同一性式を参照
== nullはコンパイルエラーで弾かれてほしい
538:デフォルトの名無しさん
12/05/29 22:12:53.71
COMと相性悪いのか知らんがダイアログが開いた途端落ちるのは何でだぜ
URLリンク(ideone.com)
539:デフォルトの名無しさん
12/05/29 22:18:45.31
>>538
俺もwin32API使うときにそうなったけど、何が原因だったんだっけなぁ。
ポインタ周りだったかなぁ。
540:デフォルトの名無しさん
12/05/29 22:45:37.79
>>538
CoCreateInstanceが成功してるならIFileOpenDialogの定義が間違ってるとか?
後はIFileOpenDialogの使い方自体だけどよくわからんな
Vista以降の割と新しいIFだからWinMainから呼び出さないと死ぬとか?
COMはいろいろ使ったけど困ったことないなあ
541:538
12/05/29 23:10:18.59
GetOpenFileNameでも同じ結果のようだ
ただ、フック掛けると古いスタイルのダイアログになるんだがそのときは成功する
>>540
宣言は間違ってないし、C++でほぼ同じ感じでmainから呼び出すと成功する
542:デフォルトの名無しさん
12/05/29 23:17:06.21
もしかしてエラー6BA?
543:デフォルトの名無しさん
12/05/30 08:03:06.73
>>538
勘で答えるけどIFileOpenDialog* dlg;ではなくて?もしくはcast(void*)か
544:片山博文MZボット ◆0lBZNi.Q7evd
12/05/30 08:28:54.84
Segmentation faultが発生する。なぜだか分からん。教えてくだされよ。
URLリンク(codepad.org)
あと、Dで64ビットプログラムは作れますか?
545:デフォルトの名無しさん
12/05/30 08:37:34.97
64bitコードを吐けるDを実装したら作れるだろ
546:538
12/05/30 10:57:35.81
>>542
もうちょっとkwsk
>>543
Dではinterfaceはclass同様ポインタなんだ
そもそもそこの宣言が間違えてたらダイアログを開くことすら出来ない(Access Violationでね)
問題なのはダイアログが表示されてから落ちることなんだよね
547:デフォルトの名無しさん
12/05/30 12:07:34.51
>>546
詳しくは忘れたけど
GetOpenFileNameやリストビューなんかのWinのコントロールは
何のためか忘れたけど内部で必ずエラーコードとしてトラップされる
値を返す構成になってて、そのコードが6BAって感じだったはず
前者はダイアログが表示されてから、後者はフォーカスを持ったら
値が返ってくる感じになってる
548:デフォルトの名無しさん
12/05/30 12:36:34.07
>>544
プログラムが終了した時にデストラクタが呼ばれるけど、その時には標準出力が閉じてるから。
内部のオブジェクトがすぐに解放されないのは、その時点で本当に使われてないのか判断できないから。
あと、適当にリファクタリングしてみたw
重複コードがどうにかならないか検討中・・・
URLリンク(codepad.org)
549:デフォルトの名無しさん
12/05/30 12:39:20.26
>>548追記
型比較するだけなら、.nameいらないみたい。
550:片山博文MZボット ◆0lBZNi.Q7evd
12/05/30 13:08:07.27
>>548-549 有難うございます。GCってあまり賢くないのですね。。。
551:デフォルトの名無しさん
12/05/30 13:11:34.91
>>550
いやいや。
単純に内部のオブジェクトが別の場所で参照されてる可能性を考えてるだけ。
552:片山博文MZボット ◆0lBZNi.Q7evd
12/05/30 13:43:28.67
RbArrayの中身がうまく解放されるようにするにはどうすればいいですか?
553:デフォルトの名無しさん
12/05/30 14:10:52.74
>>552
単純な方法は、RbArrayのデストラクタで、内部のオブジェクトを明示的にdeleteする。
ただし、親のRbArrarも明示的にdeleteされる必要がある制約が付く。
554:片山博文MZボット ◆0lBZNi.Q7evd
12/05/30 14:34:53.00
これってバグかなあ。フォーラムで報告した方がいいかなあ。
555:片山博文MZボット ◆0lBZNi.Q7evd
12/05/30 14:47:49.93
報告したよ。
URLリンク(forum.dlang.org)
556:デフォルトの名無しさん
12/05/30 15:40:17.11
プログラム終了時のデストラクタでオブジェクトの参照をするのは
もともと正しく動かないと言われているよ
557:デフォルトの名無しさん
12/05/30 15:52:26.52
さらにリファクタリング。
と、D1/D2両対応する試み。(中途半端w)
URLリンク(codepad.org)
・・・結構大変だったの!w