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

D言語 Part30

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2012/07/31(火) 00:05:43.45
プログラミング言語 D (D Programming Language) について語るスレッドです。

■本家
http://dlang.org/ - 公式(英語)
http://www.kmonos.net/alang/d/ - 公式の和訳
http://d.puremagic.com/issues/ - D言語バグ報告
https://github.com/D-Programming-Language - D言語開発リポジトリ

■Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
http://prowiki.org/wiki4d/ - Wiki4D(公認Wiki)

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

■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
0002デフォルトの名無しさん2012/07/31(火) 00:06:46.04
■IDE
http://www.dsource.org/projects/visuald - Visual D(Visual Studioプラグイン)
http://code.google.com/a/eclipselabs.org/p/ddt/ - DDT(Eclipseプラグイン)

■ライブラリ
http://www.dsource.org/projects/dwt - DWT(GUIライブラリ)
http://www.dsource.org/projects/gtkd - GtkD(GUIライブラリ)
https://github.com/Rayerd/dfl - DFL(GUIライブラリ・非公式最新版)
http://www.dsource.org/projects/derelict - Derelict(SDL/OpenGLなどのポーティング)
http://www.ku6.jp/keyword6/1.html - 傾き指向プログラミング(SDLなどのポーティング)

■D言語で作られたゲーム
http://www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画
http://www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games
0003デフォルトの名無しさん2012/07/31(火) 00:13:20.33
で
0004デフォルトの名無しさん2012/08/01(水) 13:54:31.73
でつ・
0005デフォルトの名無しさん2012/08/01(水) 15:14:05.70
新スレ・
0006デフォルトの名無しさん2012/08/02(木) 22:51:27.42
>>1
乙
うぉるたんかわいいようぉるたん
0007デフォルトの名無しさん2012/08/04(土) 00:34:12.48
新スレだ!D2.060だ!
0008デフォルトの名無しさん2012/08/04(土) 00:50:15.69
最近更新してもコンパイル通っちゃったり修正箇所少なかったりしてかなしい
0009デフォルトの名無しさん2012/08/04(土) 00:51:38.13
dmdでコンパイルエラー出ないと悲しくなる

だがoptlink、てめーはだめだ
0010デフォルトの名無しさん2012/08/04(土) 01:26:19.67
うぉるたんが2.060をさっさとリリースして Win64を進めるんじゃー
ってゆってたから年内には改善されるかもしれない



いや、やっぱり年内は無理かな
0011デフォルトの名無しさん2012/08/04(土) 07:45:12.43
>>8
い、いいことじゃん…
0012デフォルトの名無しさん2012/08/04(土) 12:17:28.98
あ?
0013デフォルトの名無しさん2012/08/04(土) 14:45:44.09
い?
0014デフォルトの名無しさん2012/08/04(土) 16:14:45.79
を?
0015デフォルトの名無しさん2012/08/04(土) 16:46:34.88
implibとか入ってるDigital Marsのbup.zipをウィルスセキュリティZEROがウィルス扱いして隔離するんだけど・・・
0016デフォルトの名無しさん2012/08/04(土) 16:51:07.42
>>1乙
0017デフォルトの名無しさん2012/08/04(土) 16:53:00.33
>>8-9
コンパイルエラー駆動開発
0018デフォルトの名無しさん2012/08/04(土) 17:05:26.63
>>15

VIRUS TOTALでは反応しない
ttps://www.virustotal.com/url/e6d440059ad650064eed600044801706e7988a8cfc6322e9a976918c6d74f014/analysis/1344067418/

自己判断でドゾー
0019デフォルトの名無しさん2012/08/04(土) 17:51:06.23
コンパイルエラーを直すのが一種のパズルゲームのように面白いのはDの利点だよ
0020デフォルトの名無しさん2012/08/04(土) 20:10:22.50
次のバージョン辺りから
いままでルーズな感じだったのを
constチェックをうるさくつけるようになるってこと?
0021デフォルトの名無しさん2012/08/04(土) 20:12:11.38
片山くん、俺は君を信じてWondersに乗っかることにしたから
今後も飽きずに対応してくれな

じゃ、ちょっと大型アプリケーション作りに行ってくるわ
0022デフォルトの名無しさん2012/08/04(土) 20:54:09.64
>>18
Zeroのことだから誤認だと思ったけどやはり・・・
0023デフォルトの名無しさん2012/08/04(土) 21:47:22.14
D用のfreeglutって無かったでした?
0024デフォルトの名無しさん2012/08/04(土) 21:49:19.72
ある
0025デフォルトの名無しさん2012/08/04(土) 21:59:55.00
doko?
0026デフォルトの名無しさん2012/08/05(日) 00:14:59.77
Derelict3 ni aru yo
0027デフォルトの名無しさん2012/08/05(日) 00:25:37.34
>>前スレ978
ざっとコード見たけどまあ頑張ってるんじゃない?
でも日本でPublic domainという時点でNG
0028デフォルトの名無しさん2012/08/05(日) 00:51:20.30
こういう狭い考えの奴らがスパゲッティーコードを量産し始めるんだろうな
0029デフォルトの名無しさん2012/08/05(日) 01:56:30.20
>>26
arigato. dakedo hayamatte jibunde porting sicyatta yo!!
ima sample ugoita toko
0030片山博文MZボット ◆0lBZNi.Q7evd 2012/08/06(月) 13:51:14.29
>>21 これからもサポートやります。
>>27 MITライセンスにしようか?
0031デフォルトの名無しさん2012/08/06(月) 14:09:48.51
自由に使って良いよって意味合いで公開してるんだからPublic Domainでも大丈夫
日本の著作権の考え方と衝突するって言うけど
作者の意図が上のような状態なら
そもそも権利に関して衝突する状況がまず存在しないよ

開発を継続するのなら
gitとか使える所で公開したほうがいいと思う
0032デフォルトの名無しさん2012/08/06(月) 17:24:24.57
githubに上げてくだされー
0033デフォルトの名無しさん2012/08/06(月) 22:24:59.38
Javaからの移植で浮動小数点数の初期化でハマった
こういうハマリポイントまとめておくと後で便利そうと思ったので頑張ってやらない
0034デフォルトの名無しさん2012/08/06(月) 22:53:32.35
すいません。
std.net.curlで一部のUTF8ページの日本語部分が文字化けするのですが、どうすれば良いのでしょうか?

import std.net.curl;
import std.stdio;

void main(){
auto content = get("http://www.yahoo.co.jp/");
write(content); //文字化けなし
auto content1 = get("http://www.excite.co.jp/");
write(content1); //日本語が文字化け
}
0035デフォルトの名無しさん2012/08/06(月) 23:04:37.40
実は名乗ってる文字コードと真の文字コードが違う…

なんてことはないか、さすがに
0036342012/08/07(火) 00:52:18.13
その後しらべた所、content-typeのcharset指定がなかったので、ISO-8859-1でデコードされていました。
ubyteで返してchar[]にcastしたら正常に動きました。ライブラリにエンコード指定の方法が欲しいですね。
ありがとうございました。
0037片山博文MZボット ◆0lBZNi.Q7evd 2012/08/07(火) 12:17:46.08
Wonders ver.1.03
http://katahiromz.web.fc2.com/d/wonders.html
D1でもビルド可能に。MITライセンスになる。
wonders: 仕様変更。
shobjidl, shlwapi: バグ修正。
tchar: 強化、仕様変更。
commdef: commctrl, commoncontrolsから共通部分を分離。
0038片山博文MZボット ◆0lBZNi.Q7evd 2012/08/07(火) 14:00:21.81
>>32
https://github.com/katahiromz/wonders
ちょっと手間取った。
0039デフォルトの名無しさん2012/08/07(火) 15:03:55.26
あるスレッドからTLS変数を一切使わないからTLSコピーしないでほしいんだけどなんか方法ない?
0040デフォルトの名無しさん2012/08/07(火) 21:39:29.68
?
0041デフォルトの名無しさん2012/08/07(火) 21:44:49.68
勝手にコピーとかしないんじゃ?
0042デフォルトの名無しさん2012/08/07(火) 22:51:29.59
スレッドの数だけコピーされるのがイヤってことでしょ
全部 shared もしくは D1 w
0043デフォルトの名無しさん2012/08/07(火) 22:54:30.63
__gsharedでいいじゃん
0044デフォルトの名無しさん2012/08/07(火) 23:20:51.86
TLSは普通に使うんだけど、特定のスレッドからはアクセスしないので
「このスレッドからはTLSを使いませんよ」宣言が欲しいってことでは
0045デフォルトの名無しさん2012/08/07(火) 23:33:26.62
方法無さそうだなあ
0046デフォルトの名無しさん2012/08/07(火) 23:39:47.24
自前のTLS実装作る
0047デフォルトの名無しさん2012/08/08(水) 01:40:56.10
片山さん、ついでにdirect2dのポーティングもやってくだしあ><
0048デフォルトの名無しさん2012/08/08(水) 23:40:43.56
>>39
taskPoolで最低限の初期化を我慢して使い回すか、std.randomのrndGenみたいに使うまでTLSの初期化を遅延するかどっちか?

Threadクラス改造すれば静的コンストラクタ呼び出さないのもいけそうだけど。
0049片山博文MZボット ◆0lBZNi.Q7evd 2012/08/09(木) 12:46:33.26
Wonders ver.1.04
https://github.com/katahiromz/wonders
http://katahiromz.web.fc2.com/d/wonders.html
commdefとcommoncontrolsをcommctrlに統合。
gdiplus, fourcc, mmstream, directx/ddraw, directx/ddstreamを追加。
directx関係のimportを最適化。
0050片山博文MZボット ◆0lBZNi.Q7evd 2012/08/09(木) 12:58:24.29
>>47 Direct2Dはどのヘッダでしょうか?
0051片山博文MZボット ◆0lBZNi.Q7evd 2012/08/09(木) 14:17:06.42
>>50 ぐぐったら
d2d1.h, d2d1helper.h, d2d1helper.h, d2derr.hって出てきた。
ポートするぞ。
0052デフォルトの名無しさん2012/08/09(木) 17:37:25.07
githubを使い始めたり
片山くんが何気に成長しとるw
0053片山博文MZボット ◆0lBZNi.Q7evd 2012/08/09(木) 22:10:43.23
d2d1、d2d1helperのポートは難易度高い
0054デフォルトの名無しさん2012/08/09(木) 23:53:52.41
フォント表示にdwrite.h、画像表示にwincodec.hも必要。
0055デフォルトの名無しさん2012/08/09(木) 23:54:51.49
泣き言は完成してから聞く
0056デフォルトの名無しさん2012/08/10(金) 00:01:26.59
ゲーム用サウンドはDirectSoundが廃止になって今はXAudio2が主流だから、DirectXをサポートするならXAudio2はあったほうがいいかも
0057デフォルトの名無しさん2012/08/10(金) 15:59:09.76
d2dはcomのモデルみたいだから大変かもね
0058デフォルトの名無しさん2012/08/10(金) 19:49:01.67
ttp://dpaste.dzfl.pl/88cd7bc7
> 878.d(6): Error: function compileme878.C2.method cannot override a non-virtual function
ちょっと何言ってるか分かんないですね
0059デフォルトの名無しさん2012/08/10(金) 20:02:11.02
ttp://dpaste.dzfl.pl/6f91f1d6
というかpackageってなんなんだ?
漠然とmoduleのことだと思ってたんだけどとんだ間違いで俺が間抜けなだけなのかな
0060デフォルトの名無しさん2012/08/10(金) 20:19:35.53
パッケージはモジュールの集まり

もっとわかりやすく言うとディレクトリ
0061デフォルトの名無しさん2012/08/10(金) 20:21:04.03
>>60
なるほろThx
そういえばJavaもそうだった

だとするとpackageでvirtualじゃなくなるのは単なるバグか
0062デフォルトの名無しさん2012/08/10(金) 20:59:44.38
http://d.puremagic.com/issues/show_bug.cgi?id=1161
まだこんなのも残ってるんだぜ
0063デフォルトの名無しさん2012/08/10(金) 21:17:00.70
privateで装飾すると非仮想関数として固定されるのと同じじゃない?
0064デフォルトの名無しさん2012/08/10(金) 21:26:54.11
仮想関数 ttp://www.kmonos.net/alang/d/function.html#virtual-functions

全ての非staticかつ非privateかつ非templateなメンバ関数は、 仮想関数です。
これは非効率的に聞こえるかもしれませんが、 コード生成時にDはクラス階層を全て把握していますので、 オーバーライドされていない関数への呼び出しは全て最適化されて non-virtual になります。


アクセス保護属性 ttp://www.kmonos.net/alang/d/attribute.html#ProtectionAttribute

package は、モジュールは違っても同じパッケージに属するコードからの アクセスは許可するようにprivateを拡張したものです。
これは、モジュールがネストしたパッケージの中にある場合は、 最も内側のパッケージについてのみ適用されます。
0065デフォルトの名無しさん2012/08/10(金) 21:43:49.25
するとJavaのpackage-privateみたいな属性は存在しないってことかな
0066デフォルトの名無しさん2012/08/10(金) 23:42:06.27
納得いかない

import std.stdio;

extern(C)
void f(int n)
{
  writeln(typeid(&f));
}

void main()
{
   f(0);
}

⇒ void()*
0067デフォルトの名無しさん2012/08/10(金) 23:55:09.40
writelnがアレなだけかね
pragma(msg, typeof(&f)); // void function(int n)
0068デフォルトの名無しさん2012/08/10(金) 23:55:46.33
あ、typeidか
0069デフォルトの名無しさん2012/08/11(土) 09:26:21.49
Dで使用する以下の関数を持つdllの作成について教えてください。dll作成はVisualStudio2010(32bit)を利用します。
現状以下の手順でdllを作成&使用していますが、関数呼び出し時object.Error: Access Violationとなってしまいます。
どこかおかしいところがあれば指摘お願いします。

以下手順です
【1.dll作成】
--- xxx.c ---
__declspec(dllexport) int __stdcall func(int (*f)(int, int), int x, int y);
int __stdcall func(int (*f)(int, int), int x, int y){  return f(x, y);}

【2.implibでxxx.libを作成】
implib /system xxx.lib xxx.def
---xxx.def---
LIBRARY "xxx.dll"
EXPORTS
_func@12

【3.dソースで利用】
dmd src.d xxx.lib
--- src.d ---
extern(System){
int func(int function(int, int) f, int x, int y);
int f0(int x, int y){return x + y;}
}
void main(){
  func(&f, 1, 2); // object.Error: Access Violation
}
0070デフォルトの名無しさん2012/08/11(土) 09:28:30.65
訂正
x func(&f, 1, 2); // object.Error: Access Violation
○ func(&f0, 1, 2); // object.Error: Access Violation
0071デフォルトの名無しさん2012/08/11(土) 09:51:13.09
xxx.cのfuncの引数のfにも__stdcallをつければ通る
0072デフォルトの名無しさん2012/08/11(土) 10:08:47.76
>>71
どうもです。動きました。
0073片山博文MZボット ◆0lBZNi.Q7evd 2012/08/11(土) 11:32:33.86
Wonders ver.1.05
https://github.com/katahiromz/wonders
http://katahiromz.web.fc2.com/d/wonders.html
wincodec, dispdib, wownt{16,32}, directx/{d2derr,dxgiformat,
d2dbasetypes,d3d10_1,d3d10sdklayers,d2d1,d2d1helper,
d3d10_1shader,dcommon,dwrite,d3dcommon,id3d10blob}を追加。
mswsock, winsock2: バグ修正。
0074片山博文MZボット ◆0lBZNi.Q7evd 2012/08/11(土) 11:41:55.14
GUID定数は、externじゃなくて値埋め込みの方がいいかな?
0075片山博文MZボット ◆0lBZNi.Q7evd 2012/08/11(土) 12:13:11.06
構造体は、クラスで継承できなかった。
0076デフォルトの名無しさん2012/08/11(土) 12:23:02.22
個人の日記帳
0077デフォルトの名無しさん2012/08/11(土) 13:10:27.52
twitterだな
0078デフォルトの名無しさん2012/08/11(土) 13:20:54.73
うん
0079デフォルトの名無しさん2012/08/11(土) 13:51:36.12
githubに登録したんだから使う人はそっち見るだろう
失礼だけど需要のほとんど無いライブラリのリビジョンが上がる度に書き込むのはどうかと思うよ
0080デフォルトの名無しさん2012/08/11(土) 17:38:07.15
値型のconst変数の存在価値がわからない
immutableかenumでいいじゃん
0081デフォルトの名無しさん2012/08/11(土) 19:41:07.36
ポインタがあるからじゃ?
0082デフォルトの名無しさん2012/08/11(土) 22:13:54.70
>>75
次は関数パラメータのconst対応行ってみようか
0083デフォルトの名無しさん2012/08/11(土) 22:19:46.85
鬼が居るw
0084デフォルトの名無しさん2012/08/11(土) 23:02:36.64
IDEも作ってもらわなきゃ困る
なんかもう色々と最強なやつな
0085デフォルトの名無しさん2012/08/12(日) 00:09:07.60
現状だとVisualDの開発に参加するのが一番だろうね
0086デフォルトの名無しさん2012/08/12(日) 00:43:23.84
変数の中身をちゃんと見られるようになれば・・・
0087デフォルトの名無しさん2012/08/12(日) 00:48:57.50
どうも動きを見てると
Release版の静的ライブラリを読み込んでいる部分が展開されないような雰囲気
0088デフォルトの名無しさん2012/08/12(日) 01:57:47.08
ここのスレの住人はD言語の成長を暖かく見守ってるようでいいな
他の言語のスレは自分が使ってる言語をクソ糞言ってて気が滅入ってくるよ…
0089デフォルトの名無しさん2012/08/12(日) 02:04:11.04
まあアレだ
食う前に十分太らせないと
肉の旨いもマズいも無いってな
0090デフォルトの名無しさん2012/08/12(日) 02:05:08.76
ていうか、ある意味ではあんま変わらんよね。
クソ!(歓喜)みたいな。
0091デフォルトの名無しさん2012/08/12(日) 02:18:00.42
>>88
!!!D言語に欠点など無いからだ!!!!
0092デフォルトの名無しさん2012/08/12(日) 07:30:06.05
こんなインファイトの殴り合いをかけてくるクソがあるかッ!
0093デフォルトの名無しさん2012/08/12(日) 11:26:50.74
http://www.kmonos.net/alang/d/struct.html
>構造体にデストラクタのあるフィールドを持たせることはできません。

え?!

http://dlang.org/struct.html
>Unions may not have fields that have destructors.

なんだ共用体か・・・
0094デフォルトの名無しさん2012/08/12(日) 11:34:11.21
残念ながら・・・
0095デフォルトの名無しさん2012/08/12(日) 12:27:37.70
共用体のメンバごとにデストラクタ呼んでたらえらいことになるなw
0096デフォルトの名無しさん2012/08/12(日) 12:37:53.11
Dのデストラクタの信用ならなさは異常
0097デフォルトの名無しさん2012/08/12(日) 12:57:56.04
初歩的な質問なんだけど,プログラムを終了するときってどうすればいいんだ?
例外が発生したら writeln(ex); した後に自分を終了したいんだけど。
core.Runtime.terminate(); を使えばいいのかな?
0098デフォルトの名無しさん2012/08/12(日) 13:21:06.55
Cの関数は普通に使えるんでstd.c.process.exitもあるし、
あるいはmainまで伝播させてreturnとか。
0099デフォルトの名無しさん2012/08/12(日) 13:43:00.96
>>98
Thanks!
使い方がまずいのか,
std.c.process.exit だと scope(exit) hoge(); が実行されなかったので,
素直にmainまで伝搬させることにしました。
0100デフォルトの名無しさん2012/08/12(日) 13:50:00.88
andreiは例外投げろ、それがDのやり方だっていってるね
0101片山博文MZボット ◆0lBZNi.Q7evd 2012/08/12(日) 15:04:10.99
>>82 えっ、具体例を挙げてくれますか?
CPtrとinで対応していると思いますが。
0102デフォルトの名無しさん2012/08/12(日) 15:12:19.10
D言語の薄い本が完売したと聞いて動揺した
0103デフォルトの名無しさん2012/08/12(日) 16:20:30.71
☆
0104デフォルトの名無しさん2012/08/12(日) 18:14:23.98
そうかもう夏コミの季節か
明日からだっけ…?
0105デフォルトの名無しさん2012/08/12(日) 20:14:38.46
今日で終わりだよ
0106デフォルトの名無しさん2012/08/12(日) 20:28:33.95
\(^o^)/オワタ
0107デフォルトの名無しさん2012/08/12(日) 20:34:26.88
with (w = .writeln) {
 w("www")
}

みたいな構文が欲しい
0108デフォルトの名無しさん2012/08/12(日) 20:36:45.02
>>101

class Moge
{
 HWND m_hWnd;
 void Hoge() const
 {
  WinAPIHoge(m_hWnd);
 }
}

こんな感じだとconst入れてくれるなってエラー吐くのよ

WinAPIHoge(cast(void*)m_hWnd);
こんな状況になるわけさ

ただ値を参照してるだけのようなAPIにはWINAPIの関数パラメータのほうにconstをぶっ込んでくれると助かる
0109デフォルトの名無しさん2012/08/12(日) 20:37:00.89
{
 alias writeln w;
 w(1);
}
0110デフォルトの名無しさん2012/08/12(日) 20:38:03.62
あれ、前は関数内でalias作れないような気がしてたけど気のせいだったかな
ありがと
0111デフォルトの名無しさん2012/08/12(日) 23:59:19.36
structはnewしなくてもいい、classはC++と違ってnewしないとだめだけど
C++から割とでかいプログラムを移植する場合structなのかclassなのか全部把握してないとひどい目にあうよね
C++だと多態使う必要なければnewしないの普通だからそういうとこではまる
ほんとはできればnewしないで使いたいなあとか思ったり
みんなその辺どうしてる?
0112デフォルトの名無しさん2012/08/13(月) 00:03:58.47
static opCall()
0113デフォルトの名無しさん2012/08/13(月) 00:04:34.63
classは使わない
全部struct
0114デフォルトの名無しさん2012/08/13(月) 00:10:52.03
>>112
class C;
C c;
これをC++から移植するとき = new C()をつけるのを忘れてデバッグで苦労するのを何とかしたいんだ
opCall定義してもC c;じゃ通らないから結局解決しないんだぜ

>>113
お、それいいね!!
継承できんがな(´・ω・`)
0115デフォルトの名無しさん2012/08/13(月) 00:14:47.98
>>114
これでどうだ
ttp://www.kmonos.net/alang/d/template-mixin.html
0116デフォルトの名無しさん2012/08/13(月) 00:25:53.08
>>115
お姉さん基底クラスにキャストして多態的なことしたいのェ・・・
0117デフォルトの名無しさん2012/08/13(月) 00:31:33.78
もうアキラメロン
0118デフォルトの名無しさん2012/08/13(月) 01:18:10.93
クラス名を全部変える(頭に Cをつけるとか)
それからコンパイル時にこけたところを一つずつ直す
0119デフォルトの名無しさん2012/08/13(月) 04:53:43.24
何で怒られるんです?
need 'this' to access member

http://ideone.com/cyoXu
0120デフォルトの名無しさん2012/08/13(月) 08:00:40.46
-debugコンパイルスイッチを付けた場合と付けない場合とで出力内容が違うんだけど、これって仕様通り?
http://dpaste.com/785387/
0121デフォルトの名無しさん2012/08/13(月) 08:15:03.61
単に未定義の部分が揺れてるだけだとおも
0122デフォルトの名無しさん2012/08/13(月) 08:44:00.60
デストラクタでメンバ触っていいのか?
0123デフォルトの名無しさん2012/08/13(月) 09:07:07.74
>>122
ttp://www.kmonos.net/alang/d/class.html#destructors
> auto オブジェクトや DeleteExpression で削除されるオブジェクト (GCからのデストラクタ呼び出しではないので、参照は必ず有効)には当てはまりません。
0124デフォルトの名無しさん2012/08/13(月) 09:24:52.88
postblitが正しく呼び出されないバグ
0125片山博文MZボット ◆0lBZNi.Q7evd 2012/08/13(月) 09:38:10.53
>>108 なるほど。
0126デフォルトの名無しさん2012/08/13(月) 10:45:12.79
>>120
-debug時にデストラクタが4回呼ばれるのも気になる
01271202012/08/13(月) 12:57:42.83
dpaste.comとdpaste.dzfl.plを誤爆しただなんて恥ずかしくて言えない
0128デフォルトの名無しさん2012/08/13(月) 22:14:02.96
>>119
http://www.kmonos.net/alang/d/expression.html#TypeidExpression
http://ideone.com/clone/Pq85f
0129デフォルトの名無しさん2012/08/13(月) 22:16:29.19
ideoneのアドレスみすったかも
http://ideone.com/CfqgQ
0130デフォルトの名無しさん2012/08/14(火) 10:02:05.53
ほほーう、ふふーん。二段構えなんですね
0131片山博文MZボット ◆0lBZNi.Q7evd 2012/08/14(火) 15:53:19.37
<cguid.h>のCLSID_CCD*の値と、<mshtml.h>のCLSID_*の値が分からない。
誰か教えて。。。
0132デフォルトの名無しさん2012/08/14(火) 16:31:58.30
>>131
http://toro.2ch.net/test/read.cgi/tech/1344046683/
0133片山博文MZボット ◆0lBZNi.Q7evd 2012/08/14(火) 16:35:25.22
c_dfDIKeyboard, c_dfDIMouse2, c_dfDIJoystickの中身は定義した方がいい?
0134片山博文MZボット ◆0lBZNi.Q7evd 2012/08/14(火) 17:25:59.44
APIのライブラリが足りないなぁ。implibかなんかで作ろうか。。。
0135デフォルトの名無しさん2012/08/14(火) 17:50:13.61
ここはお前の日記帳じゃねえんだ
バカッターにでも書いてろ、な!
0136デフォルトの名無しさん2012/08/14(火) 17:59:51.57
twitterをご存じないのではないでしょうか
140字までの短文を投稿・閲覧できるサービスです
片山さんの書き込みには適していると思います
私もおすすめしますよ
0137デフォルトの名無しさん2012/08/15(水) 00:28:01.03
extern const CLSID CLSID_CCDFormKrnl;
extern const CLSID CLSID_CCDPropertyPage;
extern const CLSID CLSID_CCDFormDialog;

extern const CLSID CLSID_CCDCommandButton;
extern const CLSID CLSID_CCDComboBox;
extern const CLSID CLSID_CCDTextBox;
extern const CLSID CLSID_CCDCheckBox;
extern const CLSID CLSID_CCDLabel;
extern const CLSID CLSID_CCDOptionButton;
extern const CLSID CLSID_CCDListBox;
extern const CLSID CLSID_CCDScrollBar;
extern const CLSID CLSID_CCDGroupBox;

extern const CLSID CLSID_CCDGeneralPropertyPage;
extern const CLSID CLSID_CCDGenericPropertyPage;
extern const CLSID CLSID_CCDFontPropertyPage;
extern const CLSID CLSID_CCDColorPropertyPage;
extern const CLSID CLSID_CCDLabelPropertyPage;
extern const CLSID CLSID_CCDCheckBoxPropertyPage;
extern const CLSID CLSID_CCDTextBoxPropertyPage;
extern const CLSID CLSID_CCDOptionButtonPropertyPage;
extern const CLSID CLSID_CCDListBoxPropertyPage;
extern const CLSID CLSID_CCDCommandButtonPropertyPage;
extern const CLSID CLSID_CCDComboBoxPropertyPage;
extern const CLSID CLSID_CCDScrollBarPropertyPage;
extern const CLSID CLSID_CCDGroupBoxPropertyPage;
extern const CLSID CLSID_CCDXObjectPropertyPage;
0138デフォルトの名無しさん2012/08/15(水) 00:34:26.46
>>131 p:sage
http://www.dotup.org/uploda/www.dotup.org3311898.h.html
0139デフォルトの名無しさん2012/08/15(水) 12:04:02.32
久しぶりに見に来たけど丹後さん死んでしまったん?
0140デフォルトの名無しさん2012/08/15(水) 12:27:35.07
D2でいらない子扱いにされて拗ねてる
0141デフォルトの名無しさん2012/08/15(水) 12:37:17.15
どっちかというと形を変えながらだんだんPhobosにマージされていってるんじゃないの?
0142デフォルトの名無しさん2012/08/16(木) 04:37:40.53
ああ、すごい遅いけど>>1乙です。
ローダ更新しました。
ttps://dl.dropbox.com/u/1630843/hp/d/mqo_loader.zip
o Derelict3 に移行しました。
o 全体的に書き直しました。
o テクスチャ貼りました。
o コンパイル時評価挫折しました。← New!!

軽い気持ちではじめたからDropboxだったけど、sourceforge に場所借りようかな。
0143デフォルトの名無しさん2012/08/16(木) 06:24:04.14
sourceforgeもいいけどgithubもいいよ!
0144デフォルトの名無しさん2012/08/16(木) 09:22:42.65
すげー
乙乙
0145デフォルトの名無しさん2012/08/16(木) 15:00:57.31
>>142
スタックトレース吐いた〜〜。
ttp://ideone.com/BVUBL
0146デフォルトの名無しさん2012/08/16(木) 15:24:26.01
デマングれてないとこがあるな…
0147デフォルトの名無しさん2012/08/16(木) 21:18:36.18
foreach (; 0 .. 10)
みたいなカウンタ変数すら無いループとかできないかな
0148デフォルトの名無しさん2012/08/16(木) 21:48:54.30
単純に回したいなら、構文は foreach(10) でいいんじゃないか。
0149デフォルトの名無しさん2012/08/16(木) 21:59:31.11
0開始とは限らないから foreach (5 .. 15) も必要じゃね?
0150デフォルトの名無しさん2012/08/16(木) 22:07:14.71
え。ループカウントは使いたいの?
0151デフォルトの名無しさん2012/08/16(木) 22:10:49.41
>>149
変数無いのにどうやってカウント値を参照するんだ?
0152デフォルトの名無しさん2012/08/16(木) 22:20:04.89
カウント変数$_に格納されます
0153デフォルトの名無しさん2012/08/16(木) 22:21:10.27
>>152
Perl?っていうかマジで?
0154デフォルトの名無しさん2012/08/16(木) 22:30:18.95
>>152
だったら普通に変数使えよw
0155デフォルトの名無しさん2012/08/16(木) 23:08:28.66
大してご利益もないのに複雑になるだけの構文イラネ
01561492012/08/16(木) 23:45:58.67
>>150-151
こいつぁとんだ間抜けだぜ!
笑ってやれ笑ってやれHAHAHA
0157デフォルトの名無しさん2012/08/16(木) 23:48:31.39
src\druntime\import\core\stdc\*
のファイルって2.059だと.diなのに2.060では.dになってるのはなぜですか?
0158デフォルトの名無しさん2012/08/17(金) 00:31:17.53
>>145 おっとこいつは失礼。
-> mqo ファイル内でテクスチャファイル名が絶対パスなの考慮してなかった。直しました。
ttps://dl.dropbox.com/u/1630843/hp/d/mqo_loader.zip
ご指摘ありがとうございました。m(_ _)m

>>143
github のがいいんだ。じゃ次のからそうします。

>>146
2.059の時も文字化け?みたいなのしてたけど2.060でさらに読みにくくなったよね。>スタックトレース
0159デフォルトの名無しさん2012/08/17(金) 01:44:08.70
>>158
スタックトレース吐かなくなりました。GJ!
0160デフォルトの名無しさん2012/08/17(金) 01:54:36.07
foreach (_; 0..10)で我慢
0161デフォルトの名無しさん2012/08/17(金) 11:17:18.65
Error 42: Symbol Undefined _D6object29__T16AssociativeArrayTAxaTxkZ16Associativ
eArray6valuesMFNdZAxk
Error 42: Symbol Undefined _D6object29__T16AssociativeArrayTAxaTxkZ16Associativ
eArray6valuesMFNdZAxk

リンク時にこういうエラーが出ます。
おそらくisAssociativeArrayを使っているからだと思いますが、どうすればいいですか?
0162デフォルトの名無しさん2012/08/17(金) 13:14:26.86
対象の xxxx.lib をコンパイル時に参照するように指定してあげないといけないんじゃないの
0163デフォルトの名無しさん2012/08/17(金) 13:19:36.44
連想配列周りのバグが直ってないのがいくつかあった気がする
http://d.puremagic.com/issues/show_bug.cgi?id=5950

コマンドラインでソースファイル名を渡す順序を入れ替えると
出なくなったりとか変なバグがある
0164デフォルトの名無しさん2012/08/17(金) 17:21:47.56
>>162
isAssociativeArrayはD言語標準なので困ったところなのです。

>>163
コンパイラのバグだったか・・・。
ソースファイルを渡す順序の入れ替え・・・地味な作業になりそうです。
0165デフォルトの名無しさん2012/08/17(金) 17:33:45.50
まさかisAssociativeArrayを関数呼び出ししてない?
0166デフォルトの名無しさん2012/08/17(金) 18:02:24.16
>>165
static if (isAssociativeArray!(Hoge))
こんな感じで使ってます。
0167デフォルトの名無しさん2012/08/17(金) 18:19:15.01
>>161
デマングリングだけしてみた。これに見覚えは?

@property const(uint)[] object.AssociativeArray!(const(char)[], const(uint)).AssociativeArray.values()
0168デフォルトの名無しさん2012/08/17(金) 18:56:17.52
演算子オーバーロードみたいにコンパイラが内部で書き換えるやつじゃね
0169デフォルトの名無しさん2012/08/17(金) 19:48:23.16
それD組み込みの連想配列の実装コードな気がする・・
0170デフォルトの名無しさん2012/08/17(金) 19:53:45.79
なんかkeys使うとリンクに失敗することがあったような
0171デフォルトの名無しさん2012/08/17(金) 20:42:53.43
>>167
直接、そういったテンプレートを呼び出した覚えはないです。

>>168-170
やはりコンパイラのバグか・・・。
0172デフォルトの名無しさん2012/08/17(金) 21:26:10.67
コンパイラはいつも夢を与えてくれますが
同時にバグも残していくのです
0173デフォルトの名無しさん2012/08/17(金) 21:59:34.29
つまり夢いっぱいってことさ。
0174デフォルトの名無しさん2012/08/17(金) 22:04:15.27
Open your Passion!!
0175デフォルトの名無しさん2012/08/17(金) 22:29:42.05
dmdのバグ
price less
0176デフォルトの名無しさん2012/08/17(金) 23:21:32.66
夢だけじゃ腹は膨れないんだよッ
0177デフォルトの名無しさん2012/08/17(金) 23:35:06.98
だったらケーキを食べればいいじゃない
01781612012/08/18(土) 09:46:56.35
一応報告ですけど、コンパイラをdmd2.059からdmd2.054にしたらビルドできました(他のverは試してない)。
0179デフォルトの名無しさん2012/08/18(土) 09:57:37.82
最新版を試してない・・・だと・・・
0180デフォルトの名無しさん2012/08/18(土) 10:23:58.60
HEADじゃない…だと…?
0181デフォルトの名無しさん2012/08/18(土) 10:42:08.53
dmd -libのときって.libファイル指定できないんですか?

ライブラリソースのlib.dの中ではsc.iniで指定したパスにあるxxx.libの関数を使用しています。
dmd -lib lib.d xxx.lib
⇒Error: Error reading file 'xxx.lib'


もしかしてexeソースのsrc.dで直接xxx.libを使っていなくて
exeを作る場合は依存関係のあるすべての.libをdmdに並べないといけないのでしょうか

dmd src.d lib.lib xxx.lib
01821612012/08/18(土) 23:32:43.12
dmd2.060が出てたの気づいてなかった・・・。
0183デフォルトの名無しさん2012/08/21(火) 21:40:24.95
ttp://dusers.dip.jp/modules/forum/index.php?topic_id=119#post_id442
薄い本がでるのか
0184デフォルトの名無しさん2012/08/21(火) 22:31:12.36
完売したらしいね
0185デフォルトの名無しさん2012/08/22(水) 08:36:23.64
おっくれてるぅー
0186デフォルトの名無しさん2012/08/22(水) 17:23:50.31
あれだけ扱い難いC/C++の処理系のバグの少なさには恐れ入ったもんだが
Dはどうしてだめなんだ。
0187デフォルトの名無しさん2012/08/22(水) 17:25:52.37
仕様が決まってないから
0188デフォルトの名無しさん2012/08/22(水) 17:37:57.10
こればかは
どうしようもない
0189デフォルトの名無しさん2012/08/22(水) 19:47:24.59
http://dlang.org/bugstats.php
ずいぶん改善されてる実感はあるんだけど
せめて、Criticalが1桁になればなあ・・
0190デフォルトの名無しさん2012/08/22(水) 19:49:25.17
ウォルターの存在自体がバグ
0191デフォルトの名無しさん2012/08/22(水) 21:30:22.40
>>189
改善されてないでしょ…
バグ曲線の見方は、newが少なくならないと安定してきたとはみなされないし。
0192デフォルトの名無しさん2012/08/22(水) 22:56:54.33
class C{...}
class D : C{...}

C d = new D;

dからDを得る方法ありますか?
typeof(d)だとCになってしまう。
0193デフォルトの名無しさん2012/08/22(水) 23:23:48.46
d.typeof
0194デフォルトの名無しさん2012/08/23(木) 12:09:18.20
d.toString
0195片山博文MZボット ◆0lBZNi.Q7evd 2012/08/23(木) 16:15:36.24
>>82 できました。
0196片山博文MZボット ◆0lBZNi.Q7evd 2012/08/23(木) 16:52:33.59
遅くなってごめんなさ
0197デフォルトの名無しさん2012/08/23(木) 16:59:14.16
あんなマンパワーの居る作業を一人でやったのか…
お疲れさん。
0198デフォルトの名無しさん2012/08/23(木) 19:40:34.48
>>196
Makefile
46 : ## DEBUG OR RELEASE?
逆じゃね?
0199デフォルトの名無しさん2012/08/23(木) 21:10:34.89
## DEBUG OR RELEASE?
DFLAGS=-inline -O -release -w $(DEFS) # for Debug (default)
#DFLAGS=-debug -gc -unittest -w $(DEFS) # for Release

これは逆やね
0200デフォルトの名無しさん2012/08/24(金) 22:15:41.39
C言語のライブラリから
char* hoge();
を文字列として引っ張ってきたいのですが、そのままだと文字のポインタのような感じになってるみたいです。
文字列のように持ってくる何かいい方法は無いでしょうか
0201デフォルトの名無しさん2012/08/24(金) 22:53:42.86
D言語だって文字の配列だよ
0202デフォルトの名無しさん2012/08/24(金) 22:56:05.46
hoge().to!string();
0203デフォルトの名無しさん2012/08/24(金) 22:56:06.23
ポインタから勉強しなおしてto!stringしろ
0204デフォルトの名無しさん2012/08/24(金) 22:57:25.06
メモリリークの予感しかしない
0205デフォルトの名無しさん2012/08/24(金) 23:00:16.96
>>200
char* p = hoge();
string s = p[0 .. strlen(p)].idup;
というのが一番簡単かな

Cライブラリで確保されたメモリは
GC管理下に無いからコピーした方が扱いやすいと思う
自分で管理出来るならidupしないでキャストしてもいいのかな
02062052012/08/24(金) 23:01:55.61
あ、toで行けるのかスマン知らなかった
to賢いな
0207デフォルトの名無しさん2012/08/24(金) 23:08:16.61
>>200はポインタに対しての理解度があやしいので
その関数がmallocしてくるのかstaticな領域を返すのか確認した方がいいです
0208デフォルトの名無しさん2012/08/24(金) 23:09:35.25
>>206
isたんもかわいいお
0209デフォルトの名無しさん2012/08/24(金) 23:22:48.60
>>208
http://toro.2ch.net/test/read.cgi/tech/1320314325/
02102002012/08/24(金) 23:40:17.15
hoge().to!string();
ですね。

関数内で作成した文字列は危険だから返すな!
予めメモリを確保した所から文字列としてchar*を返す分には問題ない。

とかそういう感じですかね?
ご指摘ありがとうございます。ちゃんと手直ししました。

色々とありがとうございます。
0211デフォルトの名無しさん2012/08/24(金) 23:43:42.83
要するにmallocしたらfreeしろってことだよ
0212デフォルトの名無しさん2012/08/24(金) 23:47:41.56
ぼくのアナルも排便した後は女の子に舐め取ってもらいたい!
0213デフォルトの名無しさん2012/08/24(金) 23:49:28.53
その後はすかさずベロチューか?
お前とはうまい酒が飲めそうだ
0214デフォルトの名無しさん2012/08/24(金) 23:53:40.52
ハードコアだな
0215デフォルトの名無しさん2012/08/24(金) 23:56:57.30
マゾしかいないのかと思ったらスカトロマニアも多いとは……。
趣味がが増えたよ! やったねたえちゃん!
0216デフォルトの名無しさん2012/08/25(土) 01:04:46.58
D言語のマスコットでエロゲ作ろう
0217デフォルトの名無しさん2012/08/25(土) 01:06:23.59
そこはマスコットと言わず高クオリティーで頼む
0218デフォルトの名無しさん2012/08/25(土) 01:53:04.54
ボコォ
0219デフォルトの名無しさん2012/08/25(土) 13:24:47.03
classインスタンスのアドレスを取るときって↓で良い?
あとこういうのってどこに仕様書いてありますか

C c = new C;
cast(void*)c
0220デフォルトの名無しさん2012/08/25(土) 17:24:59.46
ttp://www.kmonos.net/alang/d/class.html
> クラスオブジェクトは参照によってのみインスタンス化されます。
0221デフォルトの名無しさん2012/08/25(土) 19:33:51.34
ありがとうございます。
そこは見たのですが、その「参照」は何もラップされていないアドレスと考えて良いんですか?
0222デフォルトの名無しさん2012/08/25(土) 20:11:51.25
TypeInfo_Classがあるだろう。
0223デフォルトの名無しさん2012/08/25(土) 20:33:19.69
>>219それで合ってるよ
0224デフォルトの名無しさん2012/08/26(日) 02:18:07.74
&thisとかはスコープ外れた時に使えなくなるみたいなんだけど
どっかでポインタ用の変数を自動生成してるってこと?
0225デフォルトの名無しさん2012/08/26(日) 02:27:41.88
thisは変数だし、&thisは変数へのポインタなんだから当たり前だろ。
0226デフォルトの名無しさん2012/08/26(日) 02:38:20.51
ん?じゃあ外部で生成されたクラスのアドレスを
クラスの内部から取得する場合にはどうすればいいの?

クラスが生成されてる間に、アドレスの形で保持しておいて
スコープが外れても色々な所で使い回したいとかそういうケースなんだけど
0227デフォルトの名無しさん2012/08/26(日) 03:03:57.14
クラス内のthisも参照だけどそのへんわかってる?
0228デフォルトの名無しさん2012/08/26(日) 04:01:17.55
多分よく分かってません
thisは、Classへのアドレス?
&thisは、Classへのアドレスを記憶するために変数が用意される感じ?
とか、そんな感じで混乱してます
0229デフォルトの名無しさん2012/08/26(日) 10:10:20.29
thisはクラスのインスタンスを指す参照変数で、&thisはその参照を指すポインタを得る。
参照変数の内容にはポインタを含むから、&thisはポインタのポインタになるってわけ。
0230デフォルトの名無しさん2012/08/26(日) 10:12:39.89
s/ポインタ/アドレス/g
0231デフォルトの名無しさん2012/08/26(日) 12:10:55.47
>>226
そういう場合に>>219を使う。
thisからアドレスを得たいなら cast(void*)this でいい。
0232デフォルトの名無しさん2012/08/26(日) 14:04:30.06
基本的には>>219でいいけど、CがopCastを定義していると動かない
もうちょっとよいやり方はこちら

C c = new C;
void* p = *cast(void**)&c;
0233デフォルトの名無しさん2012/08/26(日) 15:43:06.33
Dのマスコット作ってる暇があるなら
ウォルタくんはこういうややこしい部分を図解してやればいいのになw
0234デフォルトの名無しさん2012/08/26(日) 16:20:28.86
ややこしいのか・・・?
0235デフォルトの名無しさん2012/08/26(日) 16:53:50.45
クラスのアドレスって何に使えるんだろう?
0236デフォルトの名無しさん2012/08/26(日) 17:11:05.96
memsetとかか。ガクブル。
0237デフォルトの名無しさん2012/08/26(日) 17:50:18.80
SetWindowLongしたりemplaceしたインスタンスをfreeするのに使ったり
0238デフォルトの名無しさん2012/08/27(月) 00:00:18.60
リンカが出す「Error 32: Data Outside Segment Bounds : _DATA」ってエラーはどんな意味なんだい
何をすれば解決するのかさっぱりで
0239デフォルトの名無しさん2012/08/27(月) 03:18:43.15
みんなのおかげで次のステップに移ることができたよ
ありがとう
0240デフォルトの名無しさん2012/08/27(月) 07:03:55.03
>>238
align絡みだと思う
こっちでは
align(1) struct S {...}
みたいなのがあると出た

struct S {align(1): ... }
なら問題無しみたい
0241片山博文MZボット ◆0lBZNi.Q7evd 2012/08/27(月) 20:08:06.06
Warning 178: .LIB pagesize exceeds 512

助けて! -L/PAGESIZE:1024を付けてもダメだった。
0242片山博文MZボット ◆0lBZNi.Q7evd 2012/08/27(月) 20:37:29.03
ライブラリが大きすぎるということか? でも二つに分けたくないな。
0243デフォルトの名無しさん2012/08/27(月) 20:43:50.09
単純な数値定数はconstではなくenumにすると、シンボルが出力されないからライブラリサイズが減るかも。
0244デフォルトの名無しさん2012/08/27(月) 21:38:26.40
OPTLINKを甘く見るな
吐いてるエラーメッセージが真実とは限らない
0245デフォルトの名無しさん2012/08/27(月) 23:03:47.65
2.060でalign属性がいかれちまってるんですが、
これはD言語erにとって大したことない感じなの?
0246デフォルトの名無しさん2012/08/27(月) 23:18:38.10
なに、ちょっとした崩壊的変更だ
一日ちょっと楽しめたぜ
0247デフォルトの名無しさん2012/08/27(月) 23:53:42.34
align(1)が変更つうかぶっ壊れてる気がするんですが、変更なの?
0248デフォルトの名無しさん2012/08/27(月) 23:56:21.38
struct S {align(1): ...}
でサイズが計算と合わない
0249デフォルトの名無しさん2012/08/28(火) 01:21:00.19
http://d.puremagic.com/issues/show_bug.cgi?id=8377
うぉるたんが disastrous bug って言ってるヤツかな
緊急リリースが出るかと思ってたけど出ない
0250デフォルトの名無しさん2012/08/28(火) 06:30:28.64
こういう話を見るたびに思うんだけど
Dがつく単語をわざと選んでんのかな
0251デフォルトの名無しさん2012/08/28(火) 10:10:20.94
選んでるかまでは知らんが
破壊とか崩壊とか解体とか災厄とか絶望とか、
その手の単語はラテン語源のことが多いけど、
そっちで接頭辞 de- とか dis- とかがつく単語で表現されてるもんだからもともとDで始まる単語が多い
0252デフォルトの名無しさん2012/08/28(火) 10:23:28.24
destroy
0253デフォルトの名無しさん2012/08/28(火) 11:39:10.70
dildo
0254デフォルトの名無しさん2012/08/28(火) 19:18:25.79
dragonic change
0255デフォルトの名無しさん2012/08/28(火) 20:15:31.49
"D"にこれ程深い意味があったとは
0256デフォルトの名無しさん2012/08/28(火) 20:46:15.28
Dragon → Dlagn → D lang
0257デフォルトの名無しさん2012/08/28(火) 21:06:46.87
>>248
align(1) struct S{ align(1): ... }
0258デフォルトの名無しさん2012/08/28(火) 21:25:16.15
Dのあのマスコットはドラゴンなのか?
0259デフォルトの名無しさん2012/08/28(火) 22:33:55.88
Dの意思
0260デフォルトの名無しさん2012/08/29(水) 03:17:30.61
The D like a mascot is a Doughnut.
You can eat it everywhere.
0261デフォルトの名無しさん2012/08/29(水) 04:09:05.33
void main()
{
import std.stdio;
"hello, world".writeln();
}


> a.d(4): Error: undefined identifier 'writeln'

           ___   ━┓
         / ―  \  ┏┛
        /  (●)  \ヽ ・
       /   (⌒  (●) /
       /      ̄ヽ__) /
.    /´     ___/
    |        \
    |        |
0262デフォルトの名無しさん2012/08/29(水) 04:10:47.72
なんだそのエラーメッセージwもっと言うことあるだろ
0263デフォルトの名無しさん2012/08/29(水) 13:40:06.45
>>261
http://d.puremagic.com/issues/show_bug.cgi?id=6185
仕様。フリー関数じゃないとダメってどこかで見た気がする

だがしかし関数内のインポートはバグだらけだから避けるのが吉
0264デフォルトの名無しさん2012/08/29(水) 22:32:14.61
そうかー
関数内インポートは控えておくかな
0265デフォルトの名無しさん2012/08/29(水) 22:33:24.43
昨日>>261見て関数内で使えることを知って張り切って関数内import入れまくった後なのに・・・
0266デフォルトの名無しさん2012/08/29(水) 23:12:02.70
imporせずに関数使いたいことが稀によくある
デバグのためにpragma(msg)やる時とか
0267デフォルトの名無しさん2012/08/30(木) 03:16:30.64
え、インポなの!?
0268片山博文MZボット ◆0lBZNi.Q7evd 2012/08/30(木) 12:32:22.03
「Unexpected OPTLINK Termination」で見事にこけた。
http://d.puremagic.com/issues/show_bug.cgi?id=6144
バグだらけだな、こりゃ。
0269片山博文MZボット ◆0lBZNi.Q7evd 2012/08/30(木) 12:52:06.69
#define HANDLE_MSG(hwnd, message, fn) \
case (message): return HANDLE_##message((hwnd), (wParam), (lParam), (fn))

これをD言語に翻訳するとどうなる?
0270片山博文MZボット ◆0lBZNi.Q7evd 2012/08/30(木) 12:57:45.60
Unexpected OPTLINK Termination at EIP=00402C5C
EAX=0000027C EBX=0052A2F8 ECX=00000001 EDX=00039FFF
ESI=02ED3083 EDI=00003D84 EBP=00000006 ESP=0012FF48
First=00402000
0271デフォルトの名無しさん2012/08/30(木) 13:16:15.89
OPTLINKはD言語最大の癌
0272デフォルトの名無しさん2012/08/30(木) 14:10:35.23
Linuxばんじゃーい!!!
0273デフォルトの名無しさん2012/08/30(木) 14:12:25.30
gdcがんばれー><
0274デフォルトの名無しさん2012/08/31(金) 05:36:40.54
HANDLE_MSG(m_hWnd, WM_CLOSE, Cls_OnClose);

case WM_CLOSE: return HANDLE_WM_CLOSE(m_hWnd, lParam, wParam, Cls_OnClose);
0275デフォルトの名無しさん2012/08/31(金) 17:52:40.07
文字列ミックスインで頑張ってここまではできた

switch (msg) {
mixin(
makeHNDR!(hwnd, WM_MSG1, "handler1")() ~
makeHNDR!(hwnd, WM_MSG2, "handler2")() ~
""
);
default:
}

http://ideone.com/oNThI
0276デフォルトの名無しさん2012/08/31(金) 21:55:06.72
汚いなぁそれやるなら公式で紹介されてるcond使えし
0277片山博文MZボット ◆0lBZNi.Q7evd 2012/08/31(金) 22:32:48.67
>>275
有り難う。いい方法見つかった。
0278片山博文MZボット ◆0lBZNi.Q7evd 2012/09/01(土) 17:37:01.86
GDCでスタティックライブラリを作る方法、教えて。
0279片山博文MZボット ◆0lBZNi.Q7evd 2012/09/01(土) 17:50:07.41
「ar rv ライブラリ オブジェクト」でいいのか?
エラーがでるけど。
0280片山博文MZボット ◆0lBZNi.Q7evd 2012/09/01(土) 18:03:05.77
GDCでd2hello.exeがビルドできるようにしてください。お願いします。
http://dl.dropbox.com/u/72753355/wonders-beta.zip
0281デフォルトの名無しさん2012/09/01(土) 18:33:27.50
そういうのはtwitter使ったほうが早いよ
0282片山博文MZボット ◆0lBZNi.Q7evd 2012/09/01(土) 18:39:22.97
>>281 twitter反応がない。。。つぶやき方が悪いのか
0283デフォルトの名無しさん2012/09/01(土) 19:07:27.04
つぶやきシローみたいなノリでいくといいよ
0284デフォルトの名無しさん2012/09/01(土) 19:55:25.84
質問するときは #dlangつけれ
0285デフォルトの名無しさん2012/09/01(土) 20:14:49.10
さすがにそれはやってるだろう
0286デフォルトの名無しさん2012/09/01(土) 20:32:44.54
D言語disりつつ質問すれば、反応はしてくれるはず
0287片山博文MZボット ◆0lBZNi.Q7evd 2012/09/01(土) 20:33:10.08
C:\crossdev\gdc\v2\build\i686-pc-mingw32\libphobos/../../../gcc-4.6.1/libphobos/
core/sys/windows/windows.d:2780: multiple definition of `MAKEINTRESOURCEA@4'
libWonders7Wide.a(winuser.o):winuser.d:(.text+0x10): first defined here

元から有るライブラリと重複しているみたいだな。
libphobosをリンクしない訳にもいかないし。
0288デフォルトの名無しさん2012/09/01(土) 20:53:37.13
D言語に関連してる限りはここでもいいんじゃないの
他の言語と違ってエラーメッセージがコンパイラ側のバグとかもよくあるし。
全く関係無くしゃしゃり出てたらさすがに余所でとか言いたくなるけどそういうわけでもなさそうだし。
0289デフォルトの名無しさん2012/09/01(土) 20:55:31.57
>>287
いや、普通に考えてwindows.hの代替ライブラリ作ってるなら
core.sys.windowsとかをimportしちゃ駄目でしょw
0290片山博文MZボット ◆0lBZNi.Q7evd 2012/09/01(土) 20:57:00.66
>>287 関数名変えて、aliasつけて解決した。
0291デフォルトの名無しさん2012/09/01(土) 21:01:15.91
>>289
プログラミング初心者レベルだな…
0292片山博文MZボット ◆0lBZNi.Q7evd 2012/09/01(土) 22:13:13.80
>>289 そんなものをimportした覚えはないが
0293デフォルトの名無しさん2012/09/01(土) 22:14:41.11
もしかしてWinMainとか使ってたり
なわけないか
0294デフォルトの名無しさん2012/09/02(日) 12:39:24.76
phobos の中でこっそり public import して"感染"状態を引き起こす奴がいる
潜在的にバグと言っていいんじゃないかな

それと、大きめのプロジェクトで -g(デバッグシンボル) をつけると OPTLINKがゴネることがある
0295デフォルトの名無しさん2012/09/02(日) 22:30:19.52
これはどういうこと?

dmd con.d
→Error: cannot read file con.d

mv con.d co.d
dmd co.d
→OK
0296デフォルトの名無しさん2012/09/02(日) 22:46:35.08
void main()
{
  class Base{}
  class Derived : Base{}
  alias Base delegate(Base) P;

  P p1 = (Base b) => new Base; // ok
  P p2 = (Base b) => new Derived; // ok
  P p3 = (Derived b) => new Base; // NG
  P p4 = (Derived b) => new Derived; // NG
}

p3, p4はいつできますのん
0297デフォルトの名無しさん2012/09/02(日) 23:01:22.48
Derivedしか受け付けない関数にただのBase渡せちゃうからダメじゃないの?
0298デフォルトの名無しさん2012/09/02(日) 23:23:09.92
イベントハンドラに使いたいんだけど無理かぁ・・・
0299デフォルトの名無しさん2012/09/03(月) 01:01:54.87
>>295
たぶんOSの予約デバイス名に引っかかってる
0300デフォルトの名無しさん2012/09/03(月) 01:49:11.93
そういや、CONCONバグとかあったよな。ああ懐かしき9x…
0301デフォルトの名無しさん2012/09/03(月) 02:55:40.08
Call of Duty だな
0302デフォルトの名無しさん2012/09/03(月) 11:36:04.87
納得いかねー!!
http://d.puremagic.com/issues/show_bug.cgi?id=502

↓こういうアホライブラリは一体どうしてくれよう…
setXXX はないけど getXXX に final つけちゃった☆
0303片山博文MZボット ◆0lBZNi.Q7evd 2012/09/04(火) 14:56:22.65
http://codepad.org/xa1mI004
codepadのDコンパイラって古いんですね。
0304片山博文MZボット ◆0lBZNi.Q7evd 2012/09/04(火) 15:05:15.38
GDCもバグだらけ。やってられない。
https://bitbucket.org/goshawk/gdc/issue/359/internal-compiler-error-in-toctype-at-d-d
D言語やめよっかな?
0305デフォルトの名無しさん2012/09/04(火) 15:13:18.79
かまってちゃんきたー
0306デフォルトの名無しさん2012/09/04(火) 15:30:22.90
D2が安定してもどうせD3で破壊的変更が繰り返されるのでそれに付いて行く覚悟のない奴はさっさとやめればいいよ
0307デフォルトの名無しさん2012/09/05(水) 01:13:40.58
>>304
やめるなんて勿体ない
そこまでの開発意欲があるのなら
コンパイラのバグ退治もしながら言語にも良い影響を与えてやってくれ
0308デフォルトの名無しさん2012/09/06(木) 08:08:40.62
最初だけ食いついて飽きたらポイしたのに俺のおかげでDは成長したみたいな顔してる人も居たような居なかったような
継続してなんかやってくれてる人はありがたい
0309片山博文MZボット ◆0lBZNi.Q7evd 2012/09/06(木) 13:58:19.14
>>304のバグが修正されるまで、Wondersの開発を中断します。
0310デフォルトの名無しさん2012/09/06(木) 20:38:56.38
チェンジログに大量に追記されているのに気づいた。
でもこのままだと公式ドキュメントに反映されないっての…どうすんのさ
https://github.com/D-Programming-Language/druntime/commit/a9c2c6ca76e8a1767759cc7c642924c2ee57330e
0311デフォルトの名無しさん2012/09/07(金) 01:28:05.11
ttps://github.com/D-Programming-Language/dmd/pull/1099
だれかこのおっさん止めてー
0312デフォルトの名無しさん2012/09/07(金) 06:37:33.79
>>311
assertが有効になってるかどうかでの分岐だろ
あって困るようなもんでもないと思うが…
0313デフォルトの名無しさん2012/09/07(金) 10:33:16.99
`assert({
/* ... */
return true;
}());

これで十分。
0314デフォルトの名無しさん2012/09/07(金) 11:42:20.78
そういえば version (release) がないと
assertに対応する条件コンパイルは書けないんだったな

そっちの方が潰し柿食うと思うんだが
0315デフォルトの名無しさん2012/09/07(金) 15:32:21.43
>>311
なんてこった、敵の動きは早いぞ!

http://dlang.org/version.html#PredefinedVersions
0316デフォルトの名無しさん2012/09/07(金) 16:52:17.06
D_NoBoundsChecks
これ?
これがどうしたの?
0317デフォルトの名無しさん2012/09/07(金) 19:15:49.71
もはやコンパイルオプションでversion出来たらいいよねってレベル
0318デフォルトの名無しさん2012/09/07(金) 20:58:13.07
version (is > 3.141)
こんな感じ?
0319デフォルトの名無しさん2012/09/07(金) 22:23:45.20
@property以外は引数なくても括弧省略できなくなった理由ってなんなんですか?
って、あれ?
今試したらかっこつけなくても怒られなくなってる。
元からそうだっけ?
0320デフォルトの名無しさん2012/09/08(土) 00:16:13.87
-property enforce property syntax
0321デフォルトの名無しさん2012/09/08(土) 00:55:19.90
なるほど
0322デフォルトの名無しさん2012/09/08(土) 18:07:27.84
trunk見てると Win64の文字が舞い踊って次のリリースが楽しみだ

たぶん全く関係ないところにも大量のreg(ry
0323デフォルトの名無しさん2012/09/08(土) 18:21:07.23
Win64で3Dポリゴンの演算能力が!
0324デフォルトの名無しさん2012/09/08(土) 19:39:30.27
いやしかしCPUが64になってもポリスペックはGPUに依存するんじゃないか
0325デフォルトの名無しさん2012/09/08(土) 20:13:55.89
ニンテンドー64の話をしてるんだわさ!
0326デフォルトの名無しさん2012/09/08(土) 23:11:14.11
いや、今まで「OPTLINKの制約でゴニョゴニョ…」と先延ばしにされてきた問題が
一挙に解決…!! するはず

てかリンカのソースマダー? チン、チン
0327デフォルトの名無しさん2012/09/09(日) 04:34:40.90
ランカ・リー?
0328デフォルトの名無しさん2012/09/09(日) 16:58:30.88
D言語で動的ジャグ配列ってどうやるの?
↓?
int[/*a3*/][/*a2*/][/*a1*/] a = new int[a1][a2][a3];
0329デフォルトの名無しさん2012/09/09(日) 17:04:15.96
他の言語と同じように↓みたいにはできるのですが、もっとシンプルにはならないでしょうか
a = new int[][2];
a[0] = new int[3];
a[1] = new int[3];
0330デフォルトの名無しさん2012/09/09(日) 18:39:07.37
http://www.kmonos.net/alang/d/expression.html#NewExpression
int[][][] bar = new int[][][](5,20,30);
0331デフォルトの名無しさん2012/09/09(日) 21:29:35.62
>>330 了解
0332片山博文MZボット ◆0lBZNi.Q7evd 2012/09/12(水) 14:27:44.82
gdc.exe -v2 -c -frelease -finline-functions -O3 -fweb -Wall
-fversion=Unicode -fversion=Windows7 -m32 -fversion=WondersBuild
-o wonders\commctrl.o wonders\commctrl.d
gdc.exe: error: unrecognized option '-v2'
何なんだこれは?
0333デフォルトの名無しさん2012/09/12(水) 15:01:17.89
gdc.exeさんは言いました:
-v2 って何の事? ボクチャン、ワカンネ
0334デフォルトの名無しさん2012/09/12(水) 19:07:03.20
assaultかbusterをつけろ
0335デフォルトの名無しさん2012/09/13(木) 02:00:15.68
https://bitbucket.org/goshawk/gdc/wiki/UserDocumentation
-fd-version=1

D2にしたいの? デフォルトでそうなってるっぽい
動かして確かめたわけじゃないけど…
0336デフォルトの名無しさん2012/09/13(木) 11:19:46.12
>>334
ガンヲタ乙
0337片山博文MZボット ◆0lBZNi.Q7evd 2012/09/13(木) 13:17:04.60
>>335 ありがとう!
0338デフォルトの名無しさん2012/09/13(木) 23:08:33.78
公式でD言語に追加されそうな話が出てる機能ってどんなのあります?
0339デフォルトの名無しさん2012/09/14(金) 01:05:03.76
64bit win
0340デフォルトの名無しさん2012/09/14(金) 01:37:19.97
filterの返すrangeってlength持ってないんだっけ

import std.stdio;
import std.algorithm;
void main()
{
  auto a = [1, 2, 3, 4, 5];
  writeln(a.filter!(n=>n&1)().length); // Error: undefined identifier 'length'
}
0341デフォルトの名無しさん2012/09/14(金) 01:42:21.91
長さ決まってたら遅延評価っぽいことできないじゃん。逆だけど
0342片山博文MZボット ◆0lBZNi.Q7evd 2012/09/14(金) 12:21:07.01
Wonders64ビット対応したよ。GDCで-fd-version=1をつけるとエラーが出てくる。何で?

gdc.exe -fd-version=1 -c -frelease -finline-functions -O3 -fweb -Wall -mwin32 -
fversion=Unicode -fversion=Windows7 -m32 -fversion=WondersBuild -o wonder
s\basetsd.o wonders\basetsd.d
c:\mingw64\include\d2\4.6.1\object.di:27: function declaration without return ty
pe. (Note that constructors are always named 'this')
c:\mingw64\include\d2\4.6.1\object.di:27: no identifier for declarator immutable
(char)
0343デフォルトの名無しさん2012/09/14(金) 19:16:46.19
エラーメッセージだけ出して丸投げすんな
0344デフォルトの名無しさん2012/09/15(土) 00:10:06.46
>>341
ああ・・・length如きで停止しないプログラムになったら困るよね・・・

↓これって結果が違うのは仕様なんですか?
import std.stdio;
void main()
{
  writeln(typeid(typeof(()=>1)));
  writeln(typeid(typeof(()=>{return 1;})));
}

結果
int()*
int()*()*
0345デフォルトの名無しさん2012/09/15(土) 00:11:47.01
ラムダ式にデリゲートあるんだからそれが正常
0346デフォルトの名無しさん2012/09/15(土) 00:56:00.68
なるほど{}が関数リテラルと判断されてるのね
0347デフォルトの名無しさん2012/09/15(土) 01:21:14.69
writeln(typeid(typeof((){return 1;})));
でいいのよ?
0348デフォルトの名無しさん2012/09/15(土) 01:33:21.25
俺も前それでハマったな
それでこのスレに書き込んだっていう
0349片山博文MZボット ◆0lBZNi.Q7evd 2012/09/15(土) 11:31:42.00
>>343 エラーメッセージ以外に何を出せばいい?
0350デフォルトの名無しさん2012/09/15(土) 13:06:47.53
何より速さが足りない
0351デフォルトの名無しさん2012/09/15(土) 14:22:32.04
>>349
エロ画像
0352デフォルトの名無しさん2012/09/15(土) 15:42:16.58
いっとくけどめんくいだから美少女の顔が毛穴まで見えるほどのサイズのモザなしフェラ画像じゃないと答えん
0353デフォルトの名無しさん2012/09/15(土) 17:31:32.01
dlang.org シボンヌ
0354片山博文MZボット ◆0lBZNi.Q7evd 2012/09/16(日) 20:25:07.03
>>350
何をお急ぎ? 要望あらばやがて果たしたし候。
0355デフォルトの名無しさん2012/09/16(日) 23:30:58.98
optlinkさえ、optlinkさえ真っ当なら-gつきコンパイルでライブラリの深淵のエラー箇所を特定できるものを…
0356デフォルトの名無しさん2012/09/17(月) 00:33:58.62
optlinkちゃんのgスポットは俺が独占して開発できるのだ
他の人には触らせないのだ
0357デフォルトの名無しさん2012/09/17(月) 15:19:57.82
エラーが何も出ていないのにexeが作成できていない現象出たことあるひとアドバイスplz
0358デフォルトの名無しさん2012/09/17(月) 15:50:04.13
リンクに失敗したとかでなくまったく何も出てない?
0359デフォルトの名無しさん2012/09/17(月) 15:57:11.38
まったくメッセージがでないんだ・・・
dmdのコマンドラインには存在するソースファイル名の他にオプションとか全然指定してないし
わけが分からないよ・・・
0360デフォルトの名無しさん2012/09/17(月) 16:03:47.11
うーん、実はなんか違うえたいのしれないdmdを呼び出してるとか?
whichは…Windowsにはないよなぁ
0361デフォルトの名無しさん2012/09/17(月) 16:14:41.35
関数一個削ったらコンパイル通ったったった・・・
もともと文法エラーで通らない関数なんだけど
それがあると何もメッセージなしでコンパイル終了、exeが出来ない
ないとコンパイル通ってexeが出来る

問題の関数で現象が発生する最小コードが分からないんだけど構造は大体こんなでした
Tuple!(bool, 構造体) func()
{
        : 処理
    return Tuple!(true, 構造体インスタンス); //コーディングミス
}
0362デフォルトの名無しさん2012/09/17(月) 17:00:03.01
エラーメッセージすら出せずに落ちるバグがdmdに?
0363デフォルトの名無しさん2012/09/17(月) 22:27:50.74
質問です。
数値の範囲を逆順foreachするうまい方法ばありますか??

foreach(i; 0..5) ←●これを逆順走査したい

foreach(i; 5..0) ←×ループされない
foreach(i; iota(0, 5).reverse) ←×iotaはreverse出来ない
foreach(i; iota(4, -1, -1)) ←×[4〜-1)は[0..5)と見た目が違いすぎて直感的じゃない
for(auto i = 4; i >= 0; i--) ←×出来れば見た目がすっきりしたforeachを使いたい

今のところ以下が良いかと思ってるのだけれどこれよりすっきりした方法ってありますか?
foreach(i; iota(0, 5).array.reverse)
0364デフォルトの名無しさん2012/09/17(月) 23:06:31.07
foreach_reverse
0365デフォルトの名無しさん2012/09/17(月) 23:38:00.03
な、なんだってーーー Ω ΩΩ
うわ、本当だ…恥ずかしい

foreach_reverseなんてopApply時代の化石くらいにしか思っていませんでした。。
0366デフォルトの名無しさん2012/09/17(月) 23:51:41.60
なにげに役に立つんだよねforeach_reverse
0367デフォルトの名無しさん2012/09/17(月) 23:56:15.14
レンジに対してでいいならretroでいいと思うけどね
0368デフォルトの名無しさん2012/09/18(火) 10:02:22.02
foreach_reverseが消えるとかいう話はどうなったの
0369デフォルトの名無しさん2012/09/18(火) 21:21:11.48
いいね
foreach(i; iota(0, 5).retro)
0370デフォルトの名無しさん2012/09/19(水) 09:06:49.13
Effective D 第1項 「forではなくforeachを使おう」
0371デフォルトの名無しさん2012/09/22(土) 10:20:26.20
std.algorithmとか使い方をわかりやすく解説してくれるページがあるといいと思う
0372デフォルトの名無しさん2012/09/22(土) 10:57:01.60
公式の説明でなんとかなるさ
0373デフォルトの名無しさん2012/09/22(土) 21:06:30.12
unittest読め
0374デフォルトの名無しさん2012/09/22(土) 21:09:10.85
ユニットテスト内容もddocでの自動ドキュメント化対象でもいいよな
0375デフォルトの名無しさん2012/09/23(日) 10:43:13.50
returnで複数の値を受け取ることはできないんですか?
perlでリストコンテキストで戻り値を受け取るようなのがしたいです。

import std.stdio;
import std.typecons;
import std.traits;

Tuple!(int, int) f()
{
  return ReturnType!f(10, 20);
}

void main()
{
  int a;
  int b;
  ReturnType!f(a, b) = f();
  writeln(a, b);
}

実行結果
00 ←10と20が取れてない
0376デフォルトの名無しさん2012/09/23(日) 10:53:19.41
std.typeconsのタプルはただ簡単に型まで自動作成できるだけの構造体。
一つの値として受け取った後に添字を使うのが普通かな
auto t = f();
writeln(t[0], t[1]);
0377デフォルトの名無しさん2012/09/23(日) 11:07:08.35
めんどくちゃいぅ(´>∀<`)
0378デフォルトの名無しさん2012/09/23(日) 11:10:20.83
auto f(){return (10, 20);}

(a, b) = f();

おしいようで全然おしくなかった
0379デフォルトの名無しさん2012/09/23(日) 11:45:42.38
それっぽいの作ったよー><
import std.typetuple;
struct MAssigner(P...) {
 P p;
 void opAssign(S)(S s) {
  foreach (i, ref v; p) {
   *v = s[i];
  }
 }
}
template PointerType(T) { alias T* PointerType; }
auto massigner(T...)(ref T t) {
 MAssigner!(staticMap!(PointerType, T)) a;
 foreach (i, ref p; a.p) {
  p = &t[i];
 }
 return a;
}

int a, b, c;
assigner(a, b, c) = tuple(1, 2, 5);
writeln(a, b, c);
0380デフォルトの名無しさん2012/09/23(日) 11:58:56.14
結構古いのだけどたぶん動く
https://github.com/PhilippeSigaud/dranges/blob/master/reftuple.d
0381デフォルトの名無しさん2012/09/23(日) 12:51:03.86
>>379-380
これはえろい・・・
0382デフォルトの名無しさん2012/09/23(日) 17:04:28.02
>>375
変数初期化時用ならこのようなenhancementを提出している
https://github.com/D-Programming-Language/dmd/pull/341
0383デフォルトの名無しさん2012/09/24(月) 10:42:46.50
超欲しい
0384デフォルトの名無しさん2012/09/24(月) 21:05:04.57
>>379
昔そういうの入れるかどうか検討されてrejectされてる。
ライブラリレベルでは多分入らないんじゃないかと。
望みは >>382
0385デフォルトの名無しさん2012/09/24(月) 21:52:18.30
Go息しとるん?
0386デフォルトの名無しさん2012/09/27(木) 16:47:32.96
eclipseって文字列を選択するとハイライトされる機能ありますよね。
その機能をVisualDで使いたいと思っています。
そこで、VisualStudio用のアドインmetalscrollをインストールしたのですが、
VisualDに全く変化なしです。
使えないという事でしょうか?
0387デフォルトの名無しさん2012/09/27(木) 20:56:52.53
VisualStudioShellはプラグイン使えないんだなこれが
0388デフォルトの名無しさん2012/09/27(木) 22:44:40.19
>>387
そうでしたか・・・残念。
0389デフォルトの名無しさん2012/09/27(木) 23:37:00.10
VisualDってインテリセンス効かなくない?
なんかメンバ以外のシンボルも拾ってきてるような
0390デフォルトの名無しさん2012/09/29(土) 20:49:30.64
traitsとかopDispatch使ってECMAScriptのprototypeみたいなの出来ないかな
既存のインスタンスに変数とか関数とか突っ込めれば最高
0391デフォルトの名無しさん2012/09/30(日) 12:28:23.80
>>390
プロトタイプは無理だけど(継承で十分な気もするけど)、Mixinならできるよ。
0392デフォルトの名無しさん2012/09/30(日) 12:46:18.86
Variant[Variant]
0393デフォルトの名無しさん2012/09/30(日) 13:01:03.22
RTTIとopDispatchを利用してこんなのが出来ないかなと妄想してます

auto o = new PrototypeObject;
o._add( "negate", a=>-a );
o._add( "value", 10 );

writeln(o.negate(o.value)); // -10

auto o2 = o.clone();
o2.value = 20;
writeln(o2.negate(o2.value)); // -20

外から_addする関数からメンバ変数にアクセスするなら文字列リテラルで関数を書かないとダメでしょうけど・・
0394デフォルトの名無しさん2012/09/30(日) 17:55:13.37
それだと実行時に追加する形だからコンパイル時に型を決定出来ないよね
やるとしても>>392をラップする形になると思う(Variant使ったことないけど)
0395デフォルトの名無しさん2012/09/30(日) 18:38:18.31
内容型VTを定義しといて、TypeInfoと適当なサイズのすべての型バッファを持っておいて、
関数呼び出しはopCall(T...)でTypeInfoがtypeid(VT delegate(T))と一致すれば(cast(VT delegate(T))&buf)(t)
VT[string]の代わり(そのままだと結構不便だろうから)になるテーブル型まで定義してやればいけそうな気はする
という妄想
0396デフォルトの名無しさん2012/09/30(日) 19:50:37.69
可変個引数テンプレートって、関数テンプレートにしか使えないですよね?
クラステンプレートなどで可変個引数を使いたかったら、
引数1個〜n個まで1つずつ手書きするしかないのでしょうか?
03973962012/09/30(日) 21:16:54.74
いや、使えますね。
タプルを使えばいいのか。
0398デフォルトの名無しさん2012/10/02(火) 22:34:35.55
話題くれー
0399片山博文MZボット ◆0lBZNi.Q7evd 2012/10/03(水) 10:57:50.25
Wonders
https://github.com/katahiromz/wonders

↓エロ画像を用意しました。バグ報告をよろしくお願いします。
http://27.media.tumblr.com/tumblr_m2gkcq0d5J1qc10j6o1_250.gif
0400デフォルトの名無しさん2012/10/03(水) 12:12:24.25
Dオワタ・・・

マイクロソフト、JavaScriptの大規模開発を可能にする「TypeScript」を発表――JavaScriptのスーパーセット
http://www.computerworld.jp/topics/577/205052

 より複雑なアプリケーションを開発できるよう、C++やJavaといった成熟した言語によく見られる先進的な開発機能を米国MicrosoftがJavaScriptに複数実装した。
今回、JavaScriptのスーパーセット「TypeScript」としてパッケージ化されたのは、静的型付け(スタティック・タイピング)、クラス、モジュール化といった新機能だ。

 MicrosoftのC#言語担当最高アーキテクト、アンダース・ヘルスバーグ(Anders Hejlsberg)氏は、
「過去5年以上にわたり、JavaScriptでアプリケーションと同等のプログラムを記述するのが難しすぎるという不満の声が顧客から寄せられてきた」と話している。
コード予測やすぐれたデバッグ、リファクタリング、混在する大量のプログラム・コードの簡単な検索などの基礎機能を備えるTypeScriptは、
JavaScriptによるコード開発に新たな道をひらくだろうと同氏は述べた。

 「JavaScriptはスクリプティング言語として作られた。中規模から大規模なコードベース、すなわちクラスやモジュールといったものを構成するようには設計されていないのである。
(中略)JavaScriptは静的型付けのない完全な動的言語だが、今日のリッチなIDEの動力源となっているのはこの静的型付けだ」(ヘルスバーグ氏)

 静的型付けでは、開発者は特定のデータ・タイプを生成される変数それぞれに割り振らなければならない。JavaScriptはそれ自体が動的にタイプ化される言語であるため、
事前にデータ・タイプを変数に割り当てる必要がなく、経験の浅い開発者でもコーディングがしやすい。

 しかしながら静的型付けがなされる場合は、変数に割り当てられるデータのタイプを決定できるので、コンパイラがコーディング・エラーに関する詳細なレポートを作成したり、
プログラムに必要と思われるものをより正確に予測したりすることができるようになる。例えばVisual Studioでは、TypeScriptによって、
コーダーがJavaScriptを記述する際に必要な情報を「IntelliSense」が先読みし提供できるようになる。その予測精度は、C#やその他の静的言語を使う場合と同程度だそうだ。
0401デフォルトの名無しさん2012/10/03(水) 12:45:38.90
?
0402デフォルトの名無しさん2012/10/03(水) 14:45:48.54
>>400は対Dart兵器じゃないの?すでにDart死にかけてるけど。
0403デフォルトの名無しさん2012/10/03(水) 15:58:40.34
ASPで10年サポートするなら使おうという人も出るんじゃないかな
0404デフォルトの名無しさん2012/10/03(水) 16:02:46.81
あ、japascriptへの変換機なのか。
結局ECMAScriptの次期バージョン待ちという
0405デフォルトの名無しさん2012/10/03(水) 17:36:16.51
DMDScriptはD言語からjavascriptへの変換を行います!!

え?違うの?
0406デフォルトの名無しさん2012/10/03(水) 17:58:27.24
新しいものを取り上げて「○○オワタ」って言い出す奴って
やっぱりバカなんだね
0407デフォルトの名無しさん2012/10/03(水) 18:45:24.20
穏やかに行こうぜ
0408デフォルトの名無しさん2012/10/03(水) 19:37:58.85
目的も用途も内容も全然違うものやがな
たとえるならばそう、Phobosとおでんくらい違う
0409デフォルトの名無しさん2012/10/03(水) 19:58:00.43
Javascriptは糞cleの商標だからECMAScriptって言わないと
0410デフォルトの名無しさん2012/10/03(水) 21:08:45.82
は?
0411デフォルトの名無しさん2012/10/03(水) 21:37:40.78
知らないのか・・・
0412デフォルトの名無しさん2012/10/03(水) 21:47:58.96
JavaScriptの開発はNetscapeとMozillaでしょ
0413デフォルトの名無しさん2012/10/03(水) 21:55:25.32
そのあとSunの持ち物になって更に糞cleが買収したの知らないのか
0414デフォルトの名無しさん2012/10/03(水) 22:02:40.52
商標もってるってだけだろ。どうでもいいわ
0415デフォルトの名無しさん2012/10/03(水) 22:12:06.74
IO周りとかその後なんか動きあった?
DIO!
0416デフォルトの名無しさん2012/10/03(水) 22:30:45.61
邪悪の化身ッ!
0417デフォルトの名無しさん2012/10/04(木) 00:14:59.54
アニメは5日、24:30からッ!
0418デフォルトの名無しさん2012/10/05(金) 13:00:59.58
テキスト処理にスクリプト代わりに使いたいのだが
win/macでいい実行環境がないもんかなあ
0419デフォルトの名無しさん2012/10/05(金) 13:21:44.61
ttp://www.kmonos.net/alang/d/overview.html

Dはスクリプト言語でも、 インタプリタ言語でもありません。 VM を持たず、 宗教やおおげさな哲学とも縁がありません。
信頼性・保守性の高い・読みやすいコードを書いて仕事をサクサク進める必要のある 現実的なプログラマのための、 現実的な言語です。
0420デフォルトの名無しさん2012/10/05(金) 14:11:12.33
一時は期待したときもあるけど
Dでやりたい場所が無くなったな
大体Pythonで済んでしまうし
速度必要ならC/C++でやってしまう
Dはスタートダッシュが失敗でコケた感じ
0421デフォルトの名無しさん2012/10/05(金) 15:11:14.46
なぜCでやってしまうのか
0422デフォルトの名無しさん2012/10/05(金) 19:16:44.31
実行環境ってちょっと意味が分からない
0423デフォルトの名無しさん2012/10/05(金) 20:39:19.60
rdmdじゃダメかな。
意味違ってるかも。俺もわからん。
0424デフォルトの名無しさん2012/10/06(土) 00:49:25.93
コードを変更しなくてもコードが動かなくなる言語で書かれたコードは信頼性・保守性が高いと言ってもいいのだろうか
0425デフォルトの名無しさん2012/10/06(土) 01:09:37.76
何?お前Pythonディスってんの?
0426デフォルトの名無しさん2012/10/06(土) 01:10:56.78
>>424
Rubyディスってんの?
0427デフォルトの名無しさん2012/10/06(土) 01:14:07.53
その点Perlってすげえよな
0428デフォルトの名無しさん2012/10/06(土) 01:14:48.30
ラリー「6…」
0429デフォルトの名無しさん2012/10/06(土) 01:20:58.67
クリスマスには出るよ
0430デフォルトの名無しさん2012/10/06(土) 01:33:59.44
何年のクリスマスかは知らんけどな!
0431デフォルトの名無しさん2012/10/06(土) 04:10:59.58
利根川ですか
0432デフォルトの名無しさん2012/10/06(土) 07:55:37.03
いいえ、加古川です
0433デフォルトの名無しさん2012/10/06(土) 13:15:17.81
D言語の話しようぜ
0434デフォルトの名無しさん2012/10/06(土) 13:15:41.27
次のリリースはいつぞ
0435デフォルトの名無しさん2012/10/07(日) 17:31:59.64
読みやすい…?
0436デフォルトの名無しさん2012/10/07(日) 18:37:35.44
読みやすいコードを書く修行をするための言語です
0437デフォルトの名無しさん2012/10/07(日) 20:10:05.61
D言語の実用性はD言語製フレームワークの社会貢献度に比例する
0438デフォルトの名無しさん2012/10/07(日) 20:25:56.62
その理屈はおかしい
0439デフォルトの名無しさん2012/10/07(日) 23:39:58.87
普及を妨げた犯人は丹後に潜伏中
0440デフォルトの名無しさん2012/10/08(月) 16:59:01.02
このスレの廃れプリはなんなんだ・・・
俺以外にD言語やってるやつもういないのか
0441デフォルトの名無しさん2012/10/08(月) 17:14:44.69
おれだよおれおれ
0442デフォルトの名無しさん2012/10/08(月) 17:26:42.12
Goと比べたら随分マシ
0443デフォルトの名無しさん2012/10/08(月) 18:53:15.74
Dで作られたそこそこ有名なソフトって何?
0444デフォルトの名無しさん2012/10/08(月) 19:24:36.07
・>>2
・ロードモナーククローン
・同人の萌え系シューティング
・nesエミュ
・winnyクローン
など
0445デフォルトの名無しさん2012/10/08(月) 19:25:25.75
あ、ロードランナーだった
0446デフォルトの名無しさん2012/10/08(月) 19:52:47.50
pspエミュもあるな
0447デフォルトの名無しさん2012/10/08(月) 20:42:15.16
Dすっげ、まじすっげ
0448デフォルトの名無しさん2012/10/09(火) 01:23:27.07
ttps://github.com/garlic-flavor/WebKit2d
WebKit2のポーティング書いてみました。
あんまりテストしてないのでまだ実用には耐えないとおもいますが、なまあたたかくどうぞよろしく。
0449デフォルトの名無しさん2012/10/10(水) 14:13:38.35
Dって書く人によってコードかなり変わるよな
関数型っぽく書く人もいればCの延長みたいに書く人もいるし
classばっか使う人とかstructばっか使う人とか
0450デフォルトの名無しさん2012/10/10(水) 19:55:02.74
俺C++っぽくかいてる
てかC++が[]()->{}()こんな素敵な記号列出してきたせいで心が揺れてる
0451デフォルトの名無しさん2012/10/11(木) 00:49:53.81
Dっぽいコードってどんなだろうね。
なんかお題だして書いて見るのも面白いかもしれん。FizzBuzzとか
0452デフォルトの名無しさん2012/10/11(木) 00:56:42.13
D言語だとさらに、コンパイル時に、とか、1行で、とかの条件が付きそうだ。
0453デフォルトの名無しさん2012/10/11(木) 01:02:06.63
ああ、確かにコンパイル時にゴリゴリやるのはDっぽいかも
一行はまたジャンル違う気がするけど
0454デフォルトの名無しさん2012/10/11(木) 15:37:23.65
dmd2.060 で DFL 0.9.8(dfl-20110523.zip) がコンパイルエラーになるのですが
解決されている方は教えてくださーい!

ちなみに ttp://forum.dlang.org/thread/[email protected]
に書かれているように ttps://github.com/Rayerd/dfl
を試したのですがやはりコンパイルが通りませんでした。。。
0455デフォルトの名無しさん2012/10/11(木) 20:58:37.41
dfl-20110523.zipをウィルスセキュリティZEROでチェックしたら
riskwareとかいって隔離しやがった・・・
0456デフォルトの名無しさん2012/10/11(木) 22:26:17.29
ZEROなんて使ってるお前が悪い
0457デフォルトの名無しさん2012/10/11(木) 22:42:09.34
バスターさんより評判の悪い唯一のウィルス対策ソフトじゃないか
0458デフォルトの名無しさん2012/10/13(土) 23:43:52.95
VisualD 0.3.34
0459デフォルトの名無しさん2012/10/14(日) 09:15:52.47
2012対応キタ
0460デフォルトの名無しさん2012/10/14(日) 13:56:24.48
インテリセンスどう?
0461デフォルトの名無しさん2012/10/14(日) 17:42:28.39
>>455
うちのF-SecureでもヒューリスティックONだとmalwareと扱うのを確認した。
どうやら、bitdefenderエンジンのヒューリスティック部分が誤検知するっぽい?
0462デフォルトの名無しさん2012/10/14(日) 17:51:21.10
>>461
自己レス。
勘違いだった。dfl-20110523.zipには反応してない。
じゃ何に反応したのかといえば、
DMD本体とDで作ったプログラム全部。

余計深刻なんですが。
反応してくれるか知らんが、レポート送っとくか
0463デフォルトの名無しさん2012/10/14(日) 18:00:05.95
phobosにでも反応してんのかねぇ
0464デフォルトの名無しさん2012/10/14(日) 22:44:11.01
最近のウィルス対策ソフトさんぱねー
Dで作ったソフト公開してもウイルス判定されるとか悲惨だ
0465デフォルトの名無しさん2012/10/15(月) 00:31:17.06
>>454
最新同士でもダメ?
0466デフォルトの名無しさん2012/10/15(月) 00:39:13.66
D終わったな〜〜
0467デフォルトの名無しさん2012/10/15(月) 01:18:56.02
ウイルスZeroとD-languageがひとつのPC内でスタンブルする事じたいレアケースじゃん
0468デフォルトの名無しさん2012/10/15(月) 02:56:04.63
ウイルスのように蔓延して欲しいというD言語の願い、それをウイルスチェッカが検知したのだ
0469デフォルトの名無しさん2012/10/15(月) 04:24:34.59
rubyとgoとvc runtimeとctagsとlibiconvでもウィルス反応出てるから気にしなくていいだろ
0470デフォルトの名無しさん2012/10/15(月) 05:02:24.40
Windowsをウイルスとして検知してもいいはず
0471デフォルトの名無しさん2012/10/15(月) 06:26:30.70
W32/zero
0472デフォルトの名無しさん2012/10/15(月) 08:16:49.84
Windowsは畑
0473デフォルトの名無しさん2012/10/15(月) 08:35:40.52
田
0474デフォルトの名無しさん2012/10/15(月) 10:34:52.33
畑彡
0475デフォルトの名無しさん2012/10/15(月) 18:24:55.68
むしろGPL類をウィルスとして絶滅させて欲しい
0476デフォルトの名無しさん2012/10/15(月) 18:35:15.37
GPLは伝染率100%
0477デフォルトの名無しさん2012/10/15(月) 18:40:15.20
それならプロプライエタリソフトウェアをおねがいします
0478デフォルトの名無しさん2012/10/15(月) 19:01:39.58
GPL以外は全部プロプライエタリってか
0479デフォルトの名無しさん2012/10/15(月) 19:15:22.62
という偏見
0480デフォルトの名無しさん2012/10/15(月) 19:19:18.75
感染しても発病しなければ問題無し(キリッ)
0481デフォルトの名無しさん2012/10/15(月) 21:25:37.65
>>465
返信どもです!
dmd2.060, DFL 0.9.8(dfl-20110523.zip) は最新同士だと思っています〜

まあ、気長に待とうかなと思っています(他力本願モード)
0482デフォルトの名無しさん2012/10/15(月) 21:42:59.91
ライブラリのコードくらい直せばいいじゃん…と言いかけて
他の言語ではそれが普通じゃないことに気づいた
0483デフォルトの名無しさん2012/10/15(月) 23:37:30.36
最新同士ならmakelib.bat実行でふつーに通ったはず
0484デフォルトの名無しさん2012/10/16(火) 01:46:18.97
>>481
その本家のDFLは全く使い物になりません。
gitの方じゃないとコンパイルできないよ。
0485デフォルトの名無しさん2012/10/16(火) 01:48:24.58
本家のzipに入っていてgitには入っていないファイルも入れるようにすべきかなーと考え中
0486デフォルトの名無しさん2012/10/16(火) 14:28:56.44
DFL は DMDのバージョンアップごとに毎回手直ししないとビルドできない
すぐ試してみたいなら最新パッチ全部入り暫定版がここにある
https://github.com/JesseKPhillips/dfl/tree/acceptPulls

でも2.060あたりは例外を握りつぶすバグがあるからオススメできない
2.061が出るのを待ってその後 Rayerdさんとこの最新をもらってくるのが吉
0487デフォルトの名無しさん2012/10/17(水) 01:26:30.11
>>486
どもども!試してみます、ありがとうございます(感謝!)
0488デフォルトの名無しさん2012/10/17(水) 16:11:43.78
dioってたたき台とはいえ作ってる人いたのか
情報源ここ頼みすぎて知らんかった
0489デフォルトの名無しさん2012/10/17(水) 18:39:32.45
Win64対応されたら COFF対応! Optlink の直らないバグの山ともおさらばさ!
と無邪気に思っていたが
32ビットアプリを作るときは何も変わらなそうだな…
0490デフォルトの名無しさん2012/10/19(金) 01:06:08.00
http://code.google.com/p/xbyak4d
JIT x86アセンブラxbyak D言語の移植
0491デフォルトの名無しさん2012/10/20(土) 16:06:28.92
blazeD2っていうの見つけてやってみたけど
コンパイルが素のまま通るだけで挙動やっぱおかしい気がする・・・
0492デフォルトの名無しさん2012/10/20(土) 16:14:53.85
コンパイル通るとかマジかよ
0493デフォルトの名無しさん2012/10/20(土) 16:16:27.14
それはおかしい
0494デフォルトの名無しさん2012/10/20(土) 16:31:51.39
そうかコンパイルが通るというそのこと自体がおかしかったのか
0495デフォルトの名無しさん2012/10/20(土) 16:55:21.85
Dをはじめてからコンパイルが一発で通ると不安になるようになりました
本当にありがとうございました
0496デフォルトの名無しさん2012/10/20(土) 16:59:17.45
コンパイルが通らず
リンクが通らず
動かない
その過程を経ていないDのライブラリは怖くて使えない
0497デフォルトの名無しさん2012/10/20(土) 17:28:19.78
helloworld.dが一見上手くいってるのに壁の角度変えると途端におかしくなっちゃう
0498デフォルトの名無しさん2012/10/20(土) 17:35:01.72
一発でコンパイルが通ると不安になるのはみんな一緒か
0499デフォルトの名無しさん2012/10/20(土) 21:17:03.53
そうそう、blazeはなんかおかしい
直そうとしたけど無理だったから捨てた

このサンプル動くまでがんばれ
http://www.dotup.org/uploda/www.dotup.org3538140.png
0500デフォルトの名無しさん2012/10/21(日) 00:32:40.17
でもこれわりと最近(4 months ago)リリースされてるんだぞ
動作確認ぐらいしてないものかねえ
0501デフォルトの名無しさん2012/10/21(日) 00:54:05.79
Dのバージョンうpしたのは二ヶ月くらい前よ
0502デフォルトの名無しさん2012/10/21(日) 01:49:57.52
それでコンパイルエラーが起きないのか・・・ますますおかしいな
0503デフォルトの名無しさん2012/10/22(月) 01:03:59.39
メンバ変数の名前一覧(FieldTypeじゃなくてFieldNameTupleみたいなの)
が欲しいんですがなんか取れる方法ありますか?
0504デフォルトの名無しさん2012/10/22(月) 01:18:37.13
__traitsのallMembersかderivedMembersでどうにでもなるだろきっと
0505デフォルトの名無しさん2012/10/22(月) 01:44:59.70
allMembersからだと静的変数弾くのが難しいなと思ってたんですが
いわれて頭ひねってたら確かにどうかなりそうな気がしてきました
とりあえず頑張ってみます
0506デフォルトの名無しさん2012/10/22(月) 01:50:10.94
すいません、どうでもいいんですけど上のレス、
「なんとか上手くいきそう」くらいの意味で書いたつもりだったんですが
「どうかなりそう」は完全に意味違ってますね。失礼しました。
0507デフォルトの名無しさん2012/10/22(月) 02:41:48.66
頭が沸騰しそう
0508デフォルトの名無しさん2012/10/22(月) 08:28:35.83
ヘッドなのかフットなのかはっきりしたまえ
0509デフォルトの名無しさん2012/10/22(月) 22:01:53.26
だれうま
0510デフォルトの名無しさん2012/10/25(木) 02:28:23.54
>>147からの流れの回数だけのループ、
void loop(void delegate() dg, size_t n) { while(n--) dg(); }
こういうの定義したら、

{ /* 〜〜〜 */ }.loop(10);
こう書けるんじゃねと思ったけどダメだった。惜しい
0511デフォルトの名無しさん2012/10/25(木) 03:04:25.70
>>510
ブロック+大域アクセスになってるのか・・・
(){}.loop(10)とか({}).loop(10)なら行けるってのが悔しいな
0512デフォルトの名無しさん2012/10/25(木) 07:24:40.67
後置はいやいや〜ん
0513デフォルトの名無しさん2012/10/25(木) 09:31:25.96
> (){}.loop(10)とか({}).loop(10)なら行けるってのが悔しいな
JavaScriptでの関数宣言と関数式の区別みたいな感じか
0514デフォルトの名無しさん2012/10/26(金) 23:03:57.04
>>510 こんな感じですかね。
http://dpaste.dzfl.pl/0e0321dc

D言語に、できない事は無かった。
0515デフォルトの名無しさん2012/10/26(金) 23:49:17.47
エラー出て見られぬ?
0516デフォルトの名無しさん2012/10/27(土) 00:17:52.89
>>515
スイマセン。ログインしたままだった。
http://dpaste.dzfl.pl/2c051eab

以下ソースです。
import std.stdio;
void loop(lazy void dg, int n) { while(n--) { dg(); } }
void main(){
write('D').loop(10);
}
05175162012/10/27(土) 01:09:37.78
n.times(func); のバージョン
http://dpaste.dzfl.pl/0e0321dc

以下ソースです。
import std.stdio;
void times(int n, lazy void dg) { while(n--){ dg(); } }

void main(){
10.times('D'.write);
}
0518デフォルトの名無しさん2012/10/27(土) 01:17:41.37
>>516
いや、それが動くのは当然だけど今そういう話をしているんじゃなくて
{write('D');}.loop();
が動かなくて悲しいですねって話をしているんだが。
0519デフォルトの名無しさん2012/10/27(土) 12:50:29.58
http://dpaste.dzfl.pl/6d26f7dc
dot演算子にこだわらなけらば,こんなんでも.
後置ができそうで出来ないんだよなぁ
0520デフォルトの名無しさん2012/10/27(土) 13:40:26.88
>>517がまんまhttp://dlang.org/lazy-evaluation.htmlのdotimesだな
0521デフォルトの名無しさん2012/10/27(土) 13:55:45.56
>>519
変態!変態!(ry
0522デフォルトの名無しさん2012/10/27(土) 20:05:34.68
blazeあきらめて,chipmunkをDで動かしてみてる.
上手くいきそうだけど,なぜか円の二次極モーメントを求めるときにNANを吐きだされる.
どっちかっていうとDLL化時点での問題な気もするけど・・・BOXなら問題ないからなんでだろうなぁ
0523デフォルトの名無しさん2012/10/27(土) 20:28:41.12
>>519
あまりの気持ち悪さに爆笑したww
0524デフォルトの名無しさん2012/10/27(土) 20:39:42.23
Dは一体どこへ行こうとしているのだろうか・・・
0525デフォルトの名無しさん2012/10/27(土) 20:44:28.45
Lispの闇に光を・・・。
0526デフォルトの名無しさん2012/10/27(土) 20:46:59.48
北へ10。
南へ半径5の弧を描きつつ10。
0527デフォルトの名無しさん2012/10/27(土) 22:07:19.21
chipmunk MITライセンスか うむむ
0528デフォルトの名無しさん2012/10/27(土) 22:11:46.69
かなり緩くない?>MIT
あんまり利用を躊躇わなくていいライセンスだと思うけど
0529デフォルトの名無しさん2012/10/27(土) 22:56:42.29
著作権表示等が必須ってところがちょっとな
○○しないとだめって制限を設けているところにがっかりする
シェアウェアはたとえ価格が1円だとしても
支払いという行為が発生することに対してのめんどくささに似てるわけね
0530デフォルトの名無しさん2012/10/27(土) 23:43:50.88
あっれー? Error: undefined identifier WIN32_FILE_ATTRIBUTE_DATA
0531デフォルトの名無しさん2012/10/28(日) 01:56:27.93
chipmunkとりあえずhelloworld相当は動いた報告
0532デフォルトの名無しさん2012/10/28(日) 05:58:41.31
http://dpaste.dzfl.pl/cc2e1613
応用したら気持ち悪いコードができたよー^p^
0533デフォルトの名無しさん2012/10/28(日) 06:43:44.24
気持ち悪いのはいいんだけど、なんか演算子オーバーロード使うと急にDというよりC++っぽくなるな
0534デフォルトの名無しさん2012/10/28(日) 18:46:14.68
>>529
それはちょっと横着過ぎるぞw
MITライセンスの著作権表示義務ってゲームの起動ロゴみたいな鬱陶しいもんじゃなくて
ライセンステキストファイルを同梱したりhelp:aboutに追記する程度だし
0535デフォルトの名無しさん2012/10/28(日) 18:53:50.28
例えNYSLであっても、〜を使いましたぐらいはどっかに書くだろう。
BSDLやMITの場合は、その時に著作権表示をコピペしてくるだけだ。
0536デフォルトの名無しさん2012/10/28(日) 19:11:20.81
そのくらい軽いライセンスでも、10個とか20個とか使うことになると
記載漏れの心配とかで面倒になってくるかもしれん
やがてアレルギーに…
0537デフォルトの名無しさん2012/10/28(日) 19:16:28.41
なら自作しろ
0538デフォルトの名無しさん2012/10/28(日) 19:29:24.50
無保証なのに名前を書かせる意味が分からない
ソースだけならまだ分かるがバイナリにまで感染する意味が分からない
0539デフォルトの名無しさん2012/10/28(日) 19:34:17.27
何だこいつ…
0540デフォルトの名無しさん2012/10/28(日) 19:45:04.82
単に、自分が作ったんじゃないのに自作だと偽るのに使うのはダメってだけの話じゃね、基本的には
ここらへんはD言語と関係ない話になるか
0541デフォルトの名無しさん2012/10/28(日) 20:39:23.00
これってDで書き直したらどうなるの
CだとDLLとかあるけどDで書き直したら使っているかどうかって判断出来なくね?
しれっと自分で開発しましたって言っちゃえるの
0542デフォルトの名無しさん2012/10/28(日) 21:02:09.53
知識が足りないッ
0543デフォルトの名無しさん2012/10/28(日) 23:06:27.31
DもDLLあるよー><
0544デフォルトの名無しさん2012/10/29(月) 03:47:41.19
言い方が悪かった.
MITライセンスのCのライブラリをDで書き直して自作プログラムに無断で組み込んでも,著作権表記しないといけないの? ってこと.
外部にDLLとかが出ないから書かなくても気づかれようがないとおもうんだけど
0545デフォルトの名無しさん2012/10/29(月) 04:51:55.83
倫理的な話も含めて続きはライセンスのスレ行ってくれ
0546デフォルトの名無しさん2012/10/29(月) 06:15:32.19
著作権侵害前提で話を進めるとかね
0547デフォルトの名無しさん2012/11/01(木) 00:40:16.44
>532 みたいなmap関数って演算子オーバーロードなしで作れない?
デフォのはrange絡んでいやなんだけど
0548デフォルトの名無しさん2012/11/01(木) 00:53:06.64
>>547
遅延実行じゃないmapっていう意味なら別に何の工夫もいらずできるけど、
そもそもなんでrangeが嫌かわからん。
0549デフォルトの名無しさん2012/11/01(木) 22:30:45.72
rangeなしにD言語は語れない
0550デフォルトの名無しさん2012/11/01(木) 22:39:51.68
プの字も知らん俺にプログラムの何たるかを教えてくれ
0551デフォルトの名無しさん2012/11/01(木) 22:44:54.12
nullぶっこんでコンパイルする勇気
0552デフォルトの名無しさん2012/11/04(日) 15:56:06.63
DでLINQはよはよ
0553デフォルトの名無しさん2012/11/04(日) 18:06:53.80
配列をリターンしたら似たようなことできなかったっけ??
0554デフォルトの名無しさん2012/11/05(月) 04:34:36.01
その手の話って大抵過去スレで出てるよな

D言語 Part22
http://pc12.2ch.net/test/read.cgi/tech/1245602321/331-
0555デフォルトの名無しさん2012/11/06(火) 00:33:03.88
ウラル貼られても過去スレって見れないよな
0556デフォルトの名無しさん2012/11/06(火) 00:43:28.14
情弱
0557デフォルトの名無しさん2012/11/07(水) 08:37:24.10
UDA
ttp://forum.dlang.org/thread/[email protected]#post-k7afq6:242832:241:40digitalmars.com
0558デフォルトの名無しさん2012/11/07(水) 16:08:42.99
新たなる黒魔術の誕生か・・・
さっぱり用法を思いつかんあたり本物だわ
0559デフォルトの名無しさん2012/11/07(水) 16:58:15.47
テンプレートに変数を渡すのが楽しくなりそうだな
0560デフォルトの名無しさん2012/11/07(水) 21:08:18.83
ドイツのPC雑誌に、D言語の記事が
載っているらしいのですが、知っている人いますか?
0561デフォルトの名無しさん2012/11/07(水) 21:48:08.15
ドイツ語でおk
0562デフォルトの名無しさん2012/11/07(水) 22:40:13.04
D言語完璧初心者なんだけど、質問スレがなかったのでここに

writeflnの第一引数を加工する(文頭と文末に "!" 付けるとか)だけの
関数を作りたいんだけど、可変長引数の扱いがいまいちよくわからなくて困ってる
タプルそのままwriteflnに渡せたら楽だと思うんだけど
公式見ても「可変長引数をそのまま foreach できるよ」とのみ

1,2行でD言語っぽく書くならどんな感じ?
0563デフォルトの名無しさん2012/11/07(水) 23:08:48.05
import std.stdio;
void f(Args...)(Args a){
a[0] *= 10;
writeln(a);
}
void main(){
f(1, 2, 3);
}
⇒1023
0564デフォルトの名無しさん2012/11/07(水) 23:17:05.98
>タプルそのままwriteflnに渡せたら楽だと思うんだけど

なぜ試さないんだ...
0565デフォルトの名無しさん2012/11/07(水) 23:18:30.41
toとかwritelnとかは何がどこまでできるかわけがわからなくて実にDらしい
0566デフォルトの名無しさん2012/11/08(木) 00:34:43.67
>>563
ありがとう!
writefln(a[0], a[1..$]);
とかアホやってたよ…助かった
Rubyの*argsに慣れ過ぎた

>>564
タプル≒immutable-listって認識があって
ガチ「そのまま」だとは思わなかったんだ…
0567デフォルトの名無しさん2012/11/08(木) 01:31:00.00
むりむりむりむりかたつむり!
0568デフォルトの名無しさん2012/11/08(木) 10:14:41.76
>>555
http://pc12.2ch.net/test/read.cgi/tech/1245602321/331-
にある1245602321をスレキーというそうだ。
Googleでスレキーを検索してみる。
http://logsoku.com/thread/pc12.2ch.net/tech/1245602321/
812 までならみえる。
2009/08/29 22:27:39
0569デフォルトの名無しさん2012/11/11(日) 02:03:11.61
最近ECMAScriptが開発効率的にD言語より萌え言語だということを知って辛い
0570デフォルトの名無しさん2012/11/11(日) 08:29:37.20
スクリプト言語である時点で比較対象にならないだろ
0571デフォルトの名無しさん2012/11/11(日) 09:19:45.42
ここのMono-Dって使ってみた人いる?
http://mono-d.alexanderbothe.com/
どんな感じか聞きたいんだが
0572デフォルトの名無しさん2012/11/11(日) 10:53:21.94
>>571
おととい入れてみたけどかなりいい
コード補完がちゃんと働いてくれるvisualDって感じかな
0573デフォルトの名無しさん2012/11/11(日) 17:43:55.56
プリコンパイラが甘いというか無いんだよなぁ
動的にコードがかければスクリプト言語に匹敵するんだが
0574デフォルトの名無しさん2012/11/11(日) 17:59:59.05
お通夜会場はここですか?
0575デフォルトの名無しさん2012/11/11(日) 18:04:21.31
IDEは邪道
0576デフォルトの名無しさん2012/11/11(日) 18:14:54.01
>>574
なんかあったの?D2の仕様が固定されたとか?
0577デフォルトの名無しさん2012/11/11(日) 18:44:58.91
>>573
CTFEとmixinでがんばれ
0578デフォルトの名無しさん2012/11/11(日) 22:54:02.08
>>572
うお、マジかー。
入れんのめんどそうで躊躇ってたが試してみるわthx
0579デフォルトの名無しさん2012/11/11(日) 23:17:03.32
最近 D を始めたんだが、extern(C) で D で書いた関数を簡単に C から呼べるんだな。

これはなかなか便利そうだ。
0580デフォルトの名無しさん2012/11/12(月) 12:14:48.62
>>569
もう少し使い比べてみ。
・・・動的型付け言語が、開発支援ツールの支援を受けにくいことに嫌気が差してくるから。
0581デフォルトの名無しさん2012/11/13(火) 00:22:45.04
動的型付け言語は所詮「スクリプト」言語だしな
書き捨てるもの
0582デフォルトの名無しさん2012/11/13(火) 06:58:27.06
スクリプトは速記体ではありませんかー
0583デフォルトの名無しさん2012/11/15(木) 21:21:02.07
https://github.com/youkei/ctpg
これってつまりD言語内で動くスクリプト言語自作出来ちゃうってことなの
0584デフォルトの名無しさん2012/11/15(木) 23:20:20.83
enumってなんなん?って概念崩壊してきた
0585デフォルトの名無しさん2012/11/15(木) 23:25:40.54
迷走し過ぎじゃねー
0586デフォルトの名無しさん2012/11/15(木) 23:32:53.66
enumは列挙型だよ(震え声)
0587デフォルトの名無しさん2012/11/15(木) 23:35:44.71
処理を列挙するんですね
0588片山博文MZボット ◆0lBZNi.Q7evd 2012/11/16(金) 13:08:19.53
>>583 いいね!
0589デフォルトの名無しさん2012/11/16(金) 15:51:13.01
>>583
俺にはJSONと何が違うのかさっぱり分からないが。
0590デフォルトの名無しさん2012/11/16(金) 17:13:54.14
じぇーそん…?
0591デフォルトの名無しさん2012/11/16(金) 18:02:33.76
C++のboost::spiritみたいなのでしょ
なんでJSON?
0592デフォルトの名無しさん2012/11/16(金) 18:40:28.98
これがJSONに見える頭ならD言語はC++に見えるのでは
0593デフォルトの名無しさん2012/11/16(金) 18:52:28.71
俺は車輪の再発明しなくてもluaでいいと思う
0594デフォルトの名無しさん2012/11/16(金) 18:55:27.90
さっきから何言ってんのあんた。
05955942012/11/16(金) 18:56:06.37
誤爆ゥ
0596デフォルトの名無しさん2012/11/16(金) 19:46:54.09
どれが誤爆かわからない
0597デフォルトの名無しさん2012/11/16(金) 19:48:39.25
すげえ流れ的に自然な誤爆ww
0598デフォルトの名無しさん2012/11/16(金) 20:30:34.18
589=誤爆しか考えられないだろJK
0599デフォルトの名無しさん2012/11/16(金) 21:37:56.49
>598
安価も内容も不自然でない誤爆か
0600デフォルトの名無しさん2012/11/16(金) 23:15:30.84
不自然です
0601デフォルトの名無しさん2012/11/16(金) 23:38:30.54
おおっと、JSONは完全に俺の勘違いだわw

・・・ただ、今度は正規表現と何が違うのか分からなくなったが。
0602デフォルトの名無しさん2012/11/16(金) 23:42:11.52
正規表現やJSON とか言う言葉を知ったばかりの子供かい?
0603デフォルトの名無しさん2012/11/17(土) 00:00:02.93
正規表現とはひどい
0604デフォルトの名無しさん2012/11/17(土) 00:02:52.41
>>602
馬鹿にするんだったら教えてちょ。
0605デフォルトの名無しさん2012/11/17(土) 00:05:46.46
PC初心者スレ辺りへ行って、検索サイトの開き方でも聞いてみては。
0606デフォルトの名無しさん2012/11/17(土) 00:06:11.01
簡単な例では、ネストした括弧は正規表現で処理できない。

お前頭悪すぎるからもう黙れ。
0607デフォルトの名無しさん2012/11/17(土) 00:08:58.95
D言語自体をスクリプト言語として使えればいいのに
DonD
0608デフォルトの名無しさん2012/11/17(土) 00:16:50.60
>>605
サンプル見たほうが早かった。

>>606
正規表現よりは自由度があるのは分かったけど、結局どこまで出来るのかよくわからない。
0609デフォルトの名無しさん2012/11/17(土) 00:19:09.58
D言語でD言語が作れる
0610デフォルトの名無しさん2012/11/17(土) 00:37:30.70
BNFは学校で習うしアルゴリズム本には大抵載ってるのに・・・
0611デフォルトの名無しさん2012/11/17(土) 03:21:54.44
馬鹿にされて悔しいから結局自分で調べた。

・指定した型の値を含むParseResult構造体を返すパーサーを生成するらしい。
・型はDで定義されている型で配列やタプルも指定できる。
・構造体やクラスを指定できるかはわからない。
・構文木を生成できるかはよくわからない。(タプルを指定できるからできるのかな)

結局眠くて、中途半端な調べ方である。
0612デフォルトの名無しさん2012/11/17(土) 14:44:08.48
クラスインスタンスに動的にメンバ関数/変数を追加できますか
0613デフォルトの名無しさん2012/11/17(土) 15:56:30.08
無理と言いたいができそうなのが怖い
無理だよね?
0614デフォルトの名無しさん2012/11/17(土) 16:09:34.34
opDispatch
0615デフォルトの名無しさん2012/11/17(土) 17:55:29.14
まんま>>390あたりの話だな
0616デフォルトの名無しさん2012/11/17(土) 18:08:02.72
dpaste.dzfl.pl/bad939aa
どこまでやりたいかがわかればな
0617デフォルトの名無しさん2012/11/17(土) 22:06:53.24
呼ぶ方も動的にできないと価値ないだろ
opDispatchだと無理…だよね?
0618デフォルトの名無しさん2012/11/17(土) 22:16:34.55
なんでちょっと不安そうなんだよww
0619デフォルトの名無しさん2012/11/17(土) 23:26:53.42
インスタンスを連想配列のキーにしてそれに対して関数名→デリゲートの連想配列を作ればいい
と思ってやってみたけど1分で他の誰かがやるだろうと思って手を止めたわ
あと、クラスのメンバにどうアクセスするかとかその辺はtraitsで出来そうな気がしなくも・・・
0620デフォルトの名無しさん2012/11/17(土) 23:28:03.65
あ、インスタンスポインタ(void*)ね、
0621デフォルトの名無しさん2012/11/18(日) 00:00:06.28
そこまで不便だとやれないと言ったほうがよさそう
0622デフォルトの名無しさん2012/11/18(日) 00:30:49.92
いや、phobosの実装とかみんなそんな魔術じみた感じだし
0623デフォルトの名無しさん2012/11/18(日) 01:44:50.49
というか動的にメンバ関数追加って何に使うの?
0624デフォルトの名無しさん2012/11/18(日) 02:32:41.76
識別子でアクセスせんと破綻するしね。
0625デフォルトの名無しさん2012/11/18(日) 02:38:39.06
もう元クラスを継承した無名クラスのインスタンスで良いじゃない
0626デフォルトの名無しさん2012/11/18(日) 02:42:32.77
opDispatchでメンバ変数をいじ・・・れないよな

>>625
普段無名クラスばっか使ってるのにその発想はなかった逆に
0627デフォルトの名無しさん2012/11/18(日) 09:28:07.48
>>623
スクリプト言語とのブリッジオブジェクトとか…

xcodeみたいな開発環境で、イベントハンドラのセレクタが
設計時にも存在しているように見せかけるとか…
0628デフォルトの名無しさん2012/11/18(日) 13:23:59.96
原理的に無理があるような気がするなぁ

きっと無理があると思う

無理があるんじゃないかな
0629デフォルトの名無しさん2012/11/18(日) 15:07:43.22
>>627
そういうことをしたいなら、opDispatchを抜きにして
Objective C(のオブジェクト部分)やECMAScriptの
エンジン部分に相当するクラスを先に書くべき。

スクリプト言語とのブリッジオブジェクトであれば
bridge_obj.call("funcName", [arg1, arg2]);
みたいな形式で書けるようにして。

一通り機能が満足したら
alias thisやopDispatchを使って記法を整えればいい。
0630デフォルトの名無しさん2012/11/18(日) 18:01:20.71
あればあったで便利なのにやたら否定したがる人っているよね
0631デフォルトの名無しさん2012/11/18(日) 18:05:46.49
欲しい欲しくないの話をしてるんじゃないから
現行機能でできるできないの話をしているから
0632デフォルトの名無しさん2012/11/18(日) 18:09:31.14
ダックタイピングを可能にすると
処理機構の分だけ重くなるのと
静的型がもつ利点が消される(>>400)ので
組み込みにしないのは正解
0633デフォルトの名無しさん2012/11/18(日) 18:11:39.78
話の流れ理解してねえな
0634デフォルトの名無しさん2012/11/18(日) 21:18:43.95
Variantさん使ってあげて
http://dpaste.dzfl.pl/1410a950
0635デフォルトの名無しさん2012/11/18(日) 21:42:29.82
ほほう
0636デフォルトの名無しさん2012/11/19(月) 05:55:58.83
Variant使わずに>>393っぽいの作ってみたがとても残念な感じに
http://dpaste.dzfl.pl/676e7735
0637デフォルトの名無しさん2012/11/19(月) 18:00:06.30
話ぶった切って申し訳ないが
http://dpaste.dzfl.pl/80a1d6d5
これなんでloop2のほうがloopより実行時間短いんだろう? stopwatchの使い方がおかしい?
0638デフォルトの名無しさん2012/11/19(月) 18:06:01.38
同じコードを何度も実行するloop2のほうが分岐予測が効くとか
コードサイズの小さいloop2のほうがキャッシュに乗るとか
理由はつけられると思うけど
0639デフォルトの名無しさん2012/11/19(月) 22:42:10.38
あせんぶり出力するんだ
0640デフォルトの名無しさん2012/11/20(火) 08:17:56.73
ぐぬぬtemplateだけでforeachを任意個ならべてループをさせようとしたけど出来ない
0641デフォルトの名無しさん2012/11/20(火) 11:04:05.18
なぜD言語関係者は黒魔術に凝るのか

そこまで凝るならメモリ管理に黒魔術使おうと考えなさいよ
0642デフォルトの名無しさん2012/11/20(火) 15:43:10.23
?
0643デフォルトの名無しさん2012/11/20(火) 19:25:13.88
!
0644デフォルトの名無しさん2012/11/20(火) 22:47:16.61
つ GC
0645デフォルトの名無しさん2012/11/23(金) 23:24:37.13
2.061まだー?
0646デフォルトの名無しさん2012/11/24(土) 11:01:27.55
動的配列から条件に合った要素を一気に削除する方法ありますか?

filterで出来るかと思ったのですが、
filterの戻り値はFilterResultなので下の様にはできませんでした。

import std.algorithm;
void main(){
int[] a = [1, 2, 3, 4, 5];
a = a.filter!"a % 2"; // コンパイルエラー
}
0647デフォルトの名無しさん2012/11/24(土) 11:38:23.57
import std.algorithm;
void main(){
int[] a = [1, 2, 3, 4, 5];
a = remove!("a % 2 == 0")(a);
}
0648デフォルトの名無しさん2012/11/24(土) 11:48:38.28
>>647
ああ・・・公式のphobosリファレンスでremoveのジャンプ先が正しく設定されていなかったのか・・・
thx!
0649デフォルトの名無しさん2012/11/25(日) 19:36:40.41
ゲーム作ってる人がいたら聞きたいんだけど
シューティングとか大量にオブジェクトが出てくる場合やっぱりGCの影響って出てきちゃうのかな
最初にメモリ確保して使いまわしするほうがいいのかな
0650デフォルトの名無しさん2012/11/25(日) 20:01:28.06
影響でまくりカクカクするよ

1.昔ながらの方法ならそれ オブジェクト数に制限できちゃうけど設計時にキャラの総数は高々いくつまでと決めとけば問題ない
2.フリーリスト 足りなくなったらnewするけど不要になったら未使用リンクリストにつなぐからGC動かなくてうめえ
0651デフォルトの名無しさん2012/11/25(日) 20:12:55.13
フリーリストでもGC止めとかないと、解放こそされなくても
参照されてないオブジェクトが存在しない確認のためにGCそのものは動くんじゃなかろうか
0652デフォルトの名無しさん2012/11/25(日) 20:24:25.74
動くね
core.memory.GC.disable()推奨

あと連想配列の内容参照するだけでもメモリ確保されるから相当慎重にしないと
0653デフォルトの名無しさん2012/11/25(日) 21:01:11.23
Appenderの使い回しとかmalloc/freeとかしまくってます
0654デフォルトの名無しさん2012/11/25(日) 21:58:48.22
あんまり気にし出すと今度はmalloc/freeだらけになって
C++でnew/deleteした方が楽じゃね?ってなるから困る
0655デフォルトの名無しさん2012/11/26(月) 02:26:35.55
あれ? newしてcore.memory.GC.disable()って出来ないの
0656デフォルトの名無しさん2012/11/26(月) 15:37:41.51
gcstubって駄目なんだっけ?
0657デフォルトの名無しさん2012/11/27(火) 03:35:46.96
Optlinkの代替リンカ書いてるけどdmdが吐くOMFが糞過ぎる
dmdバックエンドから色々しないと64bitPE作れないぞコレ
0658デフォルトの名無しさん2012/11/27(火) 05:27:15.16
Dはオワコン
0659デフォルトの名無しさん2012/11/27(火) 06:39:11.70
いつ始まったんだ
0660デフォルトの名無しさん2012/11/27(火) 10:22:19.73
Dは体質が日本の政治家と同じ
根本の問題をいつまで経っても後回しにして
目先の破壊的変更ばっかり
こんなんだからみんな呆れて違う言語を設計されちゃったりするんだよ
ウォルマートは一度修行して出直してこいや
0661デフォルトの名無しさん2012/11/27(火) 11:20:52.54
ウォルマートは、世界最大のスーパーマーケットチェーンです
0662デフォルトの名無しさん2012/11/27(火) 19:49:41.99
今の政治程度で破壊的変更て
日本沈没くらいやってから出なおしてこいや
0663デフォルトの名無しさん2012/11/28(水) 00:13:38.71
opDispatch使うとメンバ関数をタイポしたときなんかよく分からないコンパイルエラーメッセージが出て部屋の隅でふるえる
0664デフォルトの名無しさん2012/11/28(水) 23:40:30.45
Dさん動かしたひとはもう見てないのかな
0665デフォルトの名無しさん2012/11/28(水) 23:51:19.73
>>664
なんかゲームとかつくってないのかなぁ。
当たり判定まで出来てたから、そこからが楽しいところだと思うんだけど。

ほぼ当たり判定のみでできるものって結構多いよね。
格闘ゲームとか、シューティングとか、横スクロールアクションとか。えーっと、えーっと・・・。
0666デフォルトの名無しさん2012/11/29(木) 00:29:54.23
TEA TIMEのエロゲとかとか
0667デフォルトの名無しさん2012/11/29(木) 04:38:36.33
D言語マスコットキャラクター
http://www1.axfc.net/uploader/so/2694891.jpg
0668デフォルトの名無しさん2012/11/29(木) 10:37:16.04
tes
http://www.dotup.org/uploda/www.dotup.org3677253.jpg
0669デフォルトの名無しさん2012/11/29(木) 10:46:41.83
足のせいでPに見える
0670デフォルトの名無しさん2012/11/29(木) 10:46:45.81
pixivで募集すればもっとまともなの考えてもらえるだろ
0671デフォルトの名無しさん2012/11/29(木) 11:03:16.43
>>669
全く同意
0672デフォルトの名無しさん2012/11/29(木) 12:50:36.10
http://www.dotup.org/uploda/www.dotup.org3677464.jpg
0673デフォルトの名無しさん2012/11/29(木) 13:08:56.54
http://www.dotup.org/uploda/www.dotup.org3677504.jpg
0674デフォルトの名無しさん2012/11/29(木) 13:21:30.21
http://www.dotup.org/uploda/www.dotup.org3677523.jpg
0675デフォルトの名無しさん2012/11/29(木) 17:05:19.82
本体は>>673をベースにするほうがいいと思うぞ
0676デフォルトの名無しさん2012/11/29(木) 17:38:18.71
慣れなのか>>673のコイツはもう可愛く見えるようになってしまった
0677デフォルトの名無しさん2012/11/29(木) 22:37:52.49
こんなのも
http://www.dotup.org/uploda/www.dotup.org3679178.png
0678デフォルトの名無しさん2012/11/29(木) 23:13:32.63
>>677
冬コミ受かってたけどハルヒやめてD言語のエロ本出すわ
0679デフォルトの名無しさん2012/11/29(木) 23:31:02.63
1〜2日目なら行くわ!
0680デフォルトの名無しさん2012/11/29(木) 23:52:57.22
>>677
なにこの謎ポーズ?
と思ったが>>673のこいつの手の格好をまねてる形なのか……。
ならせっかくだから他も真似して、がに股でアヘg(ry
0681デフォルトの名無しさん2012/12/01(土) 10:32:00.60
なぜエラーなんですか?
template T(alias tt){
const char[] T = typeid(tt).to!string ~ " a;";
}
void main(){
mixin(T!(int));// Error: template instance T!(int) T!(int) does not match template declaration T(alias tt)
}
0682デフォルトの名無しさん2012/12/01(土) 11:15:32.72
自己解決しました。型をパラメータに渡したい場合はC++と同じでいいんですね。難しく考えてました。
0683デフォルトの名無しさん2012/12/02(日) 01:48:32.25
std.algorithmとかでテンプレートパラメータのラムダ式を文字列で渡すとこあるけど
みんなは""とq{}どっち使ってる?
今""を全部q{}に書き換えてたんだけどq{}使ってもVisualDの支援受けられないからタイプ数増えるだけで利点あるのかという点に気付いた…
0684デフォルトの名無しさん2012/12/02(日) 07:27:02.19
他のエディタだけど、q{}の中身もカラーリングさせて使ってる
0685デフォルトの名無しさん2012/12/02(日) 07:54:06.44
monoDなら支援受けれるぞ
0686デフォルトの名無しさん2012/12/02(日) 11:12:14.26
支援も何も全部メモ帳でガリガリ書いてるわ
0687デフォルトの名無しさん2012/12/02(日) 11:38:50.63
せめてサクラエディタで・・・

ところでSTLのtransformにあたるアルゴリズムありますか?
mapはもとのrangeを書き換えないので
0688デフォルトの名無しさん2012/12/02(日) 12:05:41.57
>>687
これでどうだろ?
http://dpaste.dzfl.pl/09947aca

notepad++かSublime Text2おすすめ
0689デフォルトの名無しさん2012/12/02(日) 22:48:59.69
>>688
分かりました。phobosにないということが・・・
0690デフォルトの名無しさん2012/12/02(日) 23:52:14.28
あってもよさそうな気がするけどね。なんか理由があるんだろうか
まあ素直にforeachでループ回せって話ではあるけど。
0691デフォルトの名無しさん2012/12/03(月) 00:47:01.26
std.algorithmはモナド的なのだから副作用はいらんぜよなのでは
0692デフォルトの名無しさん2012/12/03(月) 00:47:38.56
D言語も純粋関数型言語化しようぜ
0693デフォルトの名無しさん2012/12/03(月) 01:05:26.87
よろしい。ならば破壊的変更だ。
0694デフォルトの名無しさん2012/12/03(月) 01:14:23.43
ならば我らは、諸君と私で百万と一人のD言語erと…
0695デフォルトの名無しさん2012/12/03(月) 11:00:41.45
@property uint count() const { return set.fd_count; }
ここでのconstって何なんでしょうか?
0696デフォルトの名無しさん2012/12/03(月) 11:08:29.36
変数を変更しない関数の意味
0697デフォルトの名無しさん2012/12/03(月) 12:16:24.87
ありがとう
代入しようとするとコンパイルエラーになるようですね
0698デフォルトの名無しさん2012/12/03(月) 12:20:50.10
クラスのメンバ変数に全部疑似的にconstが付いてると思えばいい
何でわざわざ縛りプレイするのが好きなのかって?
最適化装置はマゾに優しくできてんだよ。あいつはドSだからな。
0699デフォルトの名無しさん2012/12/04(火) 02:47:46.06
>>695
クラスのメンバ関数は隠し引数でthisを受け取っているようなもの
consメンバt関数では、その引数リストのthisにconst修飾子がついていると考えればいい

constオブジェクトに対してコールできるかどうかに違いが生まれる
0700デフォルトの名無しさん2012/12/04(火) 07:02:17.85
>>699
コーンスープを注文したのにコールスローサラダを持ってきたのはお前か!!このやろう!!!
0701デフォルトの名無しさん2012/12/04(火) 07:06:38.07
cons_member_t mem;
0702デフォルトの名無しさん2012/12/04(火) 21:29:27.36
VisualD 0.3.35
0703デフォルトの名無しさん2012/12/05(水) 00:42:41.00
remove!がコンパイルエラーになって一週間悩んでたんだけど
ふとstd.algorithm.remove!としたら通った
まさかと思ったけど案の定基底クラスでremove関数を定義しててまじへこんだ
俺の一週間…

↓このメッセージでわかるかーっ
Error: template instance remove!("a") remove is not a template declaration, it is a function
0704デフォルトの名無しさん2012/12/05(水) 11:44:01.71
いくらDたんでも英語読めないのを自分のせいにされたら困ると思うの
0705ウォルター・ディズレーリ2012/12/05(水) 15:48:38.72
ハハッ
0706デフォルトの名無しさん2012/12/05(水) 20:24:32.21
>>704
Dでコンパイルエラーが出たらまずコンパイラかphobosのバグを疑うだろ?
0707デフォルトの名無しさん2012/12/05(水) 20:40:47.02
>>706
ウォルターのバグ対処の遅さに憤りを覚えるのがまず先だ
0708デフォルトの名無しさん2012/12/05(水) 21:11:06.03
ウォルターなんてもうこの世界に居ないのに
どうしてみんなこの人の名前を出したがるんだろう
0709デフォルトの名無しさん2012/12/05(水) 21:18:14.03
ウォルターならさっき見かけたぞ。
ジョン・レノンと寿司食ってた。
0710デフォルトの名無しさん2012/12/06(木) 07:52:26.82
>>583面白そうだったから遊んでみようと思ったんだけど、
ドキュメントがまだ少ないのはしょうがないとしても
サンプルもそのままコンパイル通らないからどう遊べばいいかすらわからんなw
0711デフォルトの名無しさん2012/12/06(木) 08:11:45.46
>>710
D言語を駆使する者はだね
コンパイルが通るかどうかを問題にすることなんてないんだよ

肝心なのはその仕様が脳内で踊っているかどうかだよ
07127102012/12/06(木) 08:19:35.73
と思ったらDMDのバージョン上げ忘れてただけだった
失礼しました
0713デフォルトの名無しさん2012/12/06(木) 08:20:22.73
Dの仕様はC/C++の欠点を補うと思っていた時期が私にもありました
いまはDそのものが欠点です
ネイティブ以外取り柄の無いDにはもう何の魅力も感じません
C/C++やってた方がましです
0714デフォルトの名無しさん2012/12/06(木) 09:33:37.02
↑コレなんかの改変コピペ?
0715デフォルトの名無しさん2012/12/06(木) 09:53:19.12
C/C++ で作った obj のリンクは出来るようになった?
0716デフォルトの名無しさん2012/12/06(木) 12:46:43.80
TかT[]を受け取ってそれを全部つなげたT[]を返すような関数ってどう書けばいいんだろう
TとT[]がどの順番で来るかわからないとかなったら無理?
0717デフォルトの名無しさん2012/12/06(木) 12:50:44.97
D言語に不可能はない
俺はプログラミング歴一ヶ月だから先達に任せる
0718デフォルトの名無しさん2012/12/06(木) 12:54:03.62
まあ引数に突っ込む前に全部 ~ でつなげればいいだけだな
0719デフォルトの名無しさん2012/12/06(木) 16:14:33.29
引数に突っ込むくらいなら
あそこに突っ込みたい
0720デフォルトの名無しさん2012/12/06(木) 20:56:37.94
>719
このひとが突っ込んで欲しいそうです
http://i.imgur.com/r60Xy.jpg
0721デフォルトの名無しさん2012/12/07(金) 13:35:04.67
グロ注意
0722デフォルトの名無しさん2012/12/07(金) 18:32:44.37
>>716
T[] args...でいけるかなあと思ったけど無理だったので普通に書いた
http://dpaste.dzfl.pl/69672673
0723デフォルトの名無しさん2012/12/08(土) 02:23:26.31
ゲーム作ろうぜ
0724デフォルトの名無しさん2012/12/08(土) 08:38:47.07
auto cat(T, Args ...)(T a, Args args) {
&nbsp;&nbsp;static if (Args.length == 0) {
&nbsp;&nbsp;&nbsp;&nbsp;static if (is(T[])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return a;
&nbsp;&nbsp;&nbsp;&nbsp;} else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return t ~ new T[0];
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;} else {
&nbsp;&nbsp;&nbsp;&nbsp;return a ~ cat(args);
&nbsp;&nbsp;}
}
0725デフォルトの名無しさん2012/12/08(土) 09:49:56.97
幸せは自分から歩いて行かなきゃ掴めないが不幸は向こうから突然問答無用でやって来やがるからな
0726デフォルトの名無しさん2012/12/08(土) 17:29:59.41
〆切は歩いてこない(けどマッハで走ってくる)
0727デフォルトの名無しさん2012/12/08(土) 18:00:44.09
>>720
すげえな…小6のおっぱいとは思えんw
0728デフォルトの名無しさん2012/12/08(土) 19:31:41.21
時期的にあれだろうと想像するけど>>720=727みたいなのみるとゴミのような人間て本当にいるんだなって実感する
0729片山博文MZボット ◆0lBZNi.Q7evd 2012/12/09(日) 14:34:59.93
ctpgの使い方を文書化してくれたらWebMoney900円あげよう。
0730デフォルトの名無しさん2012/12/09(日) 15:11:49.03
お前なんで900円で上から目線なんだよ
0731片山博文MZボット ◆0lBZNi.Q7evd 2012/12/09(日) 21:45:21.79
documentationがあったので前言を撤回する。
0732デフォルトの名無しさん2012/12/09(日) 22:02:54.36
うっせえハゲ
くんな
0733デフォルトの名無しさん2012/12/10(月) 20:59:57.22
片山サンは基地外だと思うの
0734デフォルトの名無しさん2012/12/10(月) 23:08:19.25
けんかはやめて。粘着されるよ。
0735片山博文MZボット ◆0lBZNi.Q7evd 2012/12/11(火) 18:12:45.45
>>732 ハゲじゃないよふさふさだよ
0736片山博文MZボット ◆0lBZNi.Q7evd 2012/12/12(水) 13:01:24.62
youkeiさん、見てるんだろ? パースがうまくいかない。助けてくれ。
http://codepad.org/pD23nV4s
0737デフォルトの名無しさん2012/12/12(水) 20:32:44.11
動作するミニマムコードを出してどこがだめかちゃんと明記しろよ
0738デフォルトの名無しさん2012/12/14(金) 02:06:59.20
derelict2をdsssなしでmakeするにはどうすればいいですか?
dmdのmakeを指定してみたら
Error on line 2: can't read makefile '../inc/_inc.mak'
0739デフォルトの名無しさん2012/12/14(金) 02:18:15.68
環境変数DCにdmdをセットすればいいみたいですね
どこにも書いてない・・・
0740デフォルトの名無しさん2012/12/15(土) 01:11:12.40
DreamCastにgamediskをセットすればいいみたいですね
0741デフォルトの名無しさん2012/12/15(土) 08:16:34.23
dmdに複数ソースを指定するときにソースの指定順序を変えるとこれがでるんだがなんだい
Assertion failure: '!vthis->csym' on line 727 in file 'glue.c'
0742デフォルトの名無しさん2012/12/15(土) 10:19:13.61
bugzilla 8071
0743デフォルトの名無しさん2012/12/15(土) 11:07:33.50
8720の方かな次バージョンで直ってくるのを待つしかないか
2.061マダー?
0744デフォルトの名無しさん2012/12/15(土) 11:52:04.17
2.055 2011/09/04
2.056 2011/10/26
2.057 2011/12/13
2.058 2012/02/14
2.059 2012/04/12
2.060 2012/08/02

リリース間隔が4ヶ月以上あくと流石に心配になってくるよね
0745デフォルトの名無しさん2012/12/15(土) 11:55:00.01
次でD1最後だから揉めてるのかな
0746デフォルトの名無しさん2012/12/15(土) 12:44:53.02
リリースしようぜっていう号令がかかったからそのうち出る
0747デフォルトの名無しさん2012/12/15(土) 13:16:11.02
久々に来たんだけどD3ってどんな感じになるん?
まぁD2もクロージャ導入された辺りが最後なんだけど…
0748デフォルトの名無しさん2012/12/15(土) 13:46:14.42
いやまだD2も@propertyとか@safeが全部なくなる変更来るぞ
0749デフォルトの名無しさん2012/12/16(日) 16:31:16.02
>>748
え、なにそれ
0750デフォルトの名無しさん2012/12/16(日) 23:48:24.57
kwsk

べ、別にカワサキって意味じゃないんだからね///
0751デフォルトの名無しさん2012/12/17(月) 01:56:23.14
User Defined Attribute
@つき属性のアイデアが中途半端だったのを焼き直した
でも俺はすんなり固まるとは信じないw
0752デフォルトの名無しさん2012/12/17(月) 17:38:16.67
信じないね
0753デフォルトの名無しさん2012/12/17(月) 20:47:08.53
>>748,751
UDAは定義に任意のコンパイル時値やシンボルを関連付けるためのもの。
@safeや@propertyを置き換える目的はない。
0754デフォルトの名無しさん2012/12/17(月) 20:50:06.53
確かC#にそういうのが実装されてたよな
0755デフォルトの名無しさん2012/12/18(火) 00:32:18.28
import std.stdio;

void f(C c, int n){writeln(n);}

class C{
void g(){this.f(10);}// (2)
}

void main(){
C c = new C;
c.g();
c.f(4);// (1)
}

(1).こっちは慣れてるけど
(2).これはちょっと感動した
だからどうっだってことないけど
0756デフォルトの名無しさん2012/12/18(火) 00:54:01.47
拡張メソッドまでいけるのか、ブラックホールだな。
0757デフォルトの名無しさん2012/12/19(水) 06:07:25.73
ブラックホールというより
アナルホールだろうね
0758デフォルトの名無しさん2012/12/20(木) 00:24:37.89
拡張メソッドというよりただの糖衣構文かな
0759デフォルトの名無しさん2012/12/21(金) 23:40:26.38
よし、流れ止まったからお題出すね。

D言語でamb出来る?
fiber使えば出来そうな気はする。
0760デフォルトの名無しさん2012/12/23(日) 13:40:09.58
最近いじり始めたが構造体のメンバをforeachで回せることを知って
D言語でなくては生きていけない体になってしまった
0761デフォルトの名無しさん2012/12/23(日) 16:08:44.65
foreach(c; cc){cc ~= c.children;}
気持ちはわかるが末尾追加は許してや
って毎度思うんだ
0762デフォルトの名無しさん2012/12/23(日) 16:17:47.69
foreach (v; r) でrが既に評価されてるから、末尾追加でメモリ配置し直されたら困るじゃん
0763デフォルトの名無しさん2012/12/23(日) 16:30:22.47
それをわかった上で末尾追加は挿入と違ってインデックスは狂わないから
再配置に対応してくれたらなっていう願望ね
0764デフォルトの名無しさん2012/12/23(日) 16:37:46.41
それは流石に・・・
0765デフォルトの名無しさん2012/12/23(日) 17:02:31.82
cc[] でいいんじゃないかなぁ
0766デフォルトの名無しさん2012/12/23(日) 20:33:44.01
>>760
これってどういう意味?
おいらには初耳だったんだけど
0767デフォルトの名無しさん2012/12/23(日) 21:33:13.42
tupleof か __traits(allMembers) かな?
0768デフォルトの名無しさん2012/12/24(月) 03:40:03.78
>>766
http://www.kmonos.net/alang/d/statement.html

>以下のプロパティの定義された構造体やクラスは レンジと呼ばれ、foreachでループすることが可能です:
レンジのプロパティプロパティ用途
.emptyもう要素がない時に true を返す
.frontレンジの最左端の要素を返す
.backレンジの最右端の要素を返す

foreach でのレンジの操作メソッド用途
.popFront()レンジの左端をひとつ右に動かす
.popBack()レンジの右端をひとつ左に動かす
0769デフォルトの名無しさん2012/12/24(月) 03:41:45.71
と思ったら全然違った。
よく読んでなかった><
0770デフォルトの名無しさん2012/12/24(月) 04:41:01.50
Rangeとか基本ぞ!
0771デフォルトの名無しさん2012/12/24(月) 04:51:06.46
らんげ!
0772デフォルトの名無しさん2012/12/24(月) 04:54:26.82
>>760がどんな変態実装してるか気になる
0773デフォルトの名無しさん2012/12/24(月) 12:21:20.12
どんな変態実装でも許容されるさ、そうD言語ならね。
0774デフォルトの名無しさん2012/12/24(月) 18:38:53.15
でもさすがにあれは無理でしょ?
0775デフォルトの名無しさん2012/12/24(月) 21:21:32.84
One more thing...
0776デフォルトの名無しさん2012/12/28(金) 00:57:28.22
std.regexのmatchの第一引数はregexじゃなくてstringなんだ!
0777デフォルトの名無しさん2012/12/28(金) 22:26:07.21
でっかいケロちゃんのはまだクロウカードだお
0778デフォルトの名無しさん2012/12/29(土) 01:25:10.62
折田(ウォルト)「苦労してます」
0779デフォルトの名無しさん2012/12/29(土) 11:19:29.70
へえ
0780デフォルトの名無しさん2012/12/29(土) 18:02:44.64
ウオルタ「俺、正直言語とか作るの向いてないのかも…」
0781デフォルトの名無しさん2012/12/29(土) 18:54:16.00
セイカイ
0782デフォルトの名無しさん2012/12/30(日) 11:11:29.51
すごい・・・、関数が第一級オブジェクトだからプログラムが全てmain関数の中で閉じて
スカイツリー級のmain関数が出来上がった!
環境を束縛するクロージャうめええええええ
0783デフォルトの名無しさん2012/12/30(日) 11:42:59.84
まさにそびえたつクソだ
0784デフォルトの名無しさん2012/12/30(日) 12:47:48.51
skyshit
0785デフォルトの名無しさん2012/12/30(日) 18:50:40.04
Is floating shit yours?
0786デフォルトの名無しさん2012/12/31(月) 19:45:21.24
D言語友の会は何処にありや?、 と全世界は知らんと欲す!
0787デフォルトの名無しさん2012/12/31(月) 19:49:22.02
鯖は生きてるみたいだから、メンテ中じゃない?
0788デフォルトの名無しさん2013/01/02(水) 17:18:52.08
const(char)* を返す関数があるんだけど、これをstringの変数には出来ない?

const(char)* arr = function1();
writeln(arr); // ← 実行結果は 1D90C90 が表示される。ポインタそのまま?
std.c.stdio.printf("%s\n", arr); // ← こっちは意図通りに文字列が表示される

function1()は元々C言語の関数で文字列を返すもの。
D言語から使えるようにするラッパーがあったので
今はそれで呼んでいます。

上記の arr をstring型の変数に変換する方法って無いですかね?
表示するだけならprintf()でいいのですが、
D言語の他の関数に渡せなくて困っています。
0789デフォルトの名無しさん2013/01/02(水) 17:39:36.75
import std.conv;
してから
arr.to!string();
0790デフォルトの名無しさん2013/01/02(水) 17:58:34.87
>>789
うおお、こんなことで良かったのか。
ありがとうございます。
0791デフォルトの名無しさん2013/01/02(水) 19:07:24.21
変態!
0792デフォルトの名無しさん2013/01/03(木) 03:21:20.38
toとconvはまごうことなき変態だった…ような
0793 忍法帖【Lv=3,xxxP】(1+0:5) 2013/01/03(木) 04:44:28.79
arr.to!string();
arr.to!(string)();
to!(string)(arr);
to!string(arr);
のどれが一番読みやすいのか気になる。
0794デフォルトの名無しさん2013/01/03(木) 13:01:38.19
D 1.076 and 2.061 release
0795デフォルトの名無しさん2013/01/03(木) 14:27:14.59
at propertyを付けない関数はプロパティ形式で呼べなくするかもしれないからto!string(arr)がいいんじゃないか
0796デフォルトの名無しさん2013/01/03(木) 16:28:19.72
とうとうきたーーーーーーーーーー!!
0797デフォルトの名無しさん2013/01/03(木) 16:30:26.54
にゃにぃ
DConf 2013 is scheduled for May 1-3 in Menlo Park, California. Visit the conference website for more details including how to propose a session.
0798デフォルトの名無しさん2013/01/03(木) 16:38:42.88
うぉるたんとGoのマスコットの一致度
0799デフォルトの名無しさん2013/01/03(木) 17:32:44.53
>>798
なん…だと…?
0800デフォルトの名無しさん2013/01/04(金) 00:28:21.19
よし、コンパイル通らなくなってるな
プロジェクトを持てば持つほど熱くなる
0801デフォルトの名無しさん2013/01/04(金) 01:32:11.39
Winの64bitとかUserDefinedAttributeとかでかい機能追加があるのにChangeLogが見にくくてつらい
0802デフォルトの名無しさん2013/01/04(金) 01:51:35.17
override指定が必須になった?
0803デフォルトの名無しさん2013/01/04(金) 03:18:36.87
前から必須だったけどあるとしたらバグでところどころ抜けてたのを直した感じじゃない?
0804片山博文MZボット ◆0lBZNi.Q7evd 2013/01/04(金) 20:09:30.51
ctpgのバグ発見。
assert(parse!root("123-123+123").value == 123);
addExpとmulExpを入れ替えると無限ループに陥るのを何とかしてほしい。
0805デフォルトの名無しさん2013/01/04(金) 20:21:21.53
ここで書かないで本人とこ行けよ
恥かしがり屋かよ
0806デフォルトの名無しさん2013/01/05(土) 17:36:58.62
2.062
0807デフォルトの名無しさん2013/01/05(土) 19:12:13.40
一体何が始まるんです?
0808デフォルトの名無しさん2013/01/05(土) 19:25:06.29
バグ修正
0809デフォルトの名無しさん2013/01/05(土) 19:25:46.40
2.061は使わないほうが良いってこと?
0810デフォルトの名無しさん2013/01/05(土) 21:09:14.14
changelogにはあるけど
ダウンロードにはない

これがdmdクオリティ
0811デフォルトの名無しさん2013/01/06(日) 01:51:35.33
>>807
破壊的大変更だ
0812デフォルトの名無しさん2013/01/06(日) 01:54:57.03
破壊的でない変更なんて、何も変更しないのと同じ!
0813デフォルトの名無しさん2013/01/06(日) 02:07:03.11
changelogにリビジョン書き間違えてるんじゃなく?
0814デフォルトの名無しさん2013/01/06(日) 03:46:56.63
リビジョンじゃないよ
ウォルタ君的にはリビドーと表現するんだよ
そこんとこ間違わないでほしいな
0815デフォルトの名無しさん2013/01/06(日) 17:01:08.36
この最新版はあなたにはあげない
だってこのリビドーは私だけのものだもの
0816デフォルトの名無しさん2013/01/06(日) 19:03:43.67
DMD2.061のwin64コンパイルのためだけにVC買ってきた
VC\bin\amd64\link.exeが必要と気づくまでかなり時間がかかったぞヽ(`Д´)ノ
0817デフォルトの名無しさん2013/01/06(日) 19:09:37.70
gccでWin64向けにコンパイル出来る?
0818デフォルトの名無しさん2013/01/06(日) 19:09:49.13
買う?VC++ Express落とすだけだろ?
0819デフォルトの名無しさん2013/01/06(日) 19:19:22.81
>>816
いつもまず最初にsc.iniマージするからそのとき気付いたよ
0820デフォルトの名無しさん2013/01/06(日) 19:48:33.16
64bitにすればOPTLINKを使わなくていいですって?
神か
0821デフォルトの名無しさん2013/01/06(日) 20:56:20.82
>>818
リモートデバッガ付きの2012Professionalですが何か?
0822デフォルトの名無しさん2013/01/06(日) 21:11:34.31
今更かも知れませんがD1ってwriteln()無いんですか?
writefln()は使えるけど…
0823デフォルトの名無しさん2013/01/06(日) 21:32:42.45
printf
0824デフォルトの名無しさん2013/01/06(日) 21:34:29.86
リモートだなんていやらしいっ!
やめて!Dに乱暴する気でしょう?エロ同人みたいに!
0825デフォルトの名無しさん2013/01/06(日) 22:17:19.46
久々に使ってみたら、std.string.replaceがundefined identifier replaceとエラーが出てしまいました。
std.string.replaceは廃止されてしまったのでしょうか?
DMDの更新履歴にはそれらしき変更はない気がするのですが。
0826デフォルトの名無しさん2013/01/06(日) 22:24:13.71
それかなり前
std.array.replace
0827デフォルトの名無しさん2013/01/06(日) 22:47:07.44
DMD2.061でWin64コンパイルする方法キボン
0828デフォルトの名無しさん2013/01/06(日) 23:16:05.19
>>826
かなり前に変更されてましたか・・・。
文字列の置換えってよく使うし、検索と書き換えが一体になってて使いやすかったんだけどなぁ。
0829デフォルトの名無しさん2013/01/07(月) 00:33:19.68
いや、replaceの所属packegeがreplaceされただけだから
import std.array; すれば解決だよ?
0830デフォルトの名無しさん2013/01/07(月) 03:11:32.95
文字列は配列なので、配列に対しても適用できる文字列操作関数は配列操作関数に改められた。
0831デフォルトの名無しさん2013/01/07(月) 08:38:48.39
>>827
VC++のリンカ入れて
> dmd -m64 ソース.d
0832デフォルトの名無しさん2013/01/07(月) 13:25:24.73
>>817
objのフォーマットが違うから無理じゃね?
0833デフォルトの名無しさん2013/01/07(月) 13:32:06.90
gccじゃなくてbinutilsのldが解釈出来ればだな
MS形式のCOFF、OMFを解釈出来なかったはずだけど
0834デフォルトの名無しさん2013/01/07(月) 16:18:05.44
なんちゅう無駄遣い
それでもprofessionalか!
0835デフォルトの名無しさん2013/01/07(月) 20:09:10.60
binutilsはWindowsではCOFFだろ?
メタデータが全然違うから役に立たないけど
0836デフォルトの名無しさん2013/01/07(月) 21:36:19.84
COFFはGNU形式、MS形式とあるんじゃなかった?

まぁldならリンカースクリプト書けば何とかなりそうだけど
0837デフォルトの名無しさん2013/01/08(火) 00:28:53.22
>>834
お金の使い方がプロフェッショナルやな
08388282013/01/08(火) 16:42:57.73
>>829
ああ、std.string.replaceが廃止されたんじゃなくて、
std.arrayに2種類のreplaceが実装されたという事でしたか。
0839デフォルトの名無しさん2013/01/08(火) 17:05:36.54
std.array へ引越して
std.string.replace は廃止
0840デフォルトの名無しさん2013/01/08(火) 19:44:32.41
文字列に使うことがほとんどだろうからindexOfみたいにalias置いてもいいと思うんだけどな
0841デフォルトの名無しさん2013/01/08(火) 19:59:54.07
std.stringはstd.arrayをpublic importしたほうがいいんじゃない?
0842デフォルトの名無しさん2013/01/09(水) 01:12:33.32
2.061になってcoffは吐けるわx86_64インラインアセンブラは使えるわで
mingw64版GDCはもういらない子だな
0843デフォルトの名無しさん2013/01/09(水) 02:23:36.85
COFFが吐けるからVC++用Libをそのまま使えるようになったって解釈でおk?
0844デフォルトの名無しさん2013/01/09(水) 02:38:30.53
>>843
むしろVCのkernel32.libがないと実行ファイル作れない
0845デフォルトの名無しさん2013/01/09(水) 02:41:23.61
>>844
それって64bitだけじゃなくて32bitでも?
最高じゃん
0846デフォルトの名無しさん2013/01/09(水) 02:58:12.60
>>845
-m32では相変わらずOMFとOptlinkです残念でしたー^q^
0847デフォルトの名無しさん2013/01/09(水) 02:59:10.10
わくわくしてVisualD経由で64bit版ビルドしようとしたら
phobos64.libとか要求されちゃったんだけど…
みんなどんな環境でどんなやり方すると正常にコンパイルできるの
0848デフォルトの名無しさん2013/01/09(水) 03:32:41.40
dmd2\windows\libにphobos64.lib入ってるじゃん
0849デフォルトの名無しさん2013/01/09(水) 04:29:44.87
ただの空main関数なのに107個くらいエラー出すんですけど
皆さんは何ともないですか?

phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol GetCommandLineW referenced in function _d_run_main
phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol CommandLineToArgvW referenced in function _d_run_main
phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol LocalFree referenced in function _d_run_main
phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol IsDebuggerPresent referenced in function _d_run_main
LIBCMT.lib(a_map.obj) : error LNK2001: unresolved external symbol __imp_WideCharToMultiByte
LIBCMT.lib(a_loc.obj) : error LNK2001: unresolved external symbol __imp_WideCharToMultiByte
phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol __imp_WideCharToMultiByte referenced in function _d_run_main
0850デフォルトの名無しさん2013/01/09(水) 10:02:40.45
64bit版だけ何かおかしいのかこれは
0851デフォルトの名無しさん2013/01/09(水) 10:12:05.88
>>849
kernel32.libが見つからないんじゃね?
0852デフォルトの名無しさん2013/01/09(水) 10:39:41.01
sc.ini の設定内容と 環境変数と 実際のフォルダの中身をそれぞれ突き合わせて、
それでダメならあきらめれ
所詮α版程度って言ってるから自分で追究してバグレポ出す覚悟がないと意味ないべ
0853デフォルトの名無しさん2013/01/09(水) 11:52:03.42
>>849
未解決シンボルが全部windowsAPI(GetCommandLineWとかCommandLineToArgvW)だから
kernel32.libの64bit版とかが見つかってないだけ
これはDMDにくっついてきてないから、上にも書いてあるけどVCのを使う必要があり

sc.iniのLIBの先頭にVCのLibディレクトリへのPATHを追加すればおk
0854デフォルトの名無しさん2013/01/09(水) 15:31:07.99
暖かいレスどうもありがとうございます
phobos64.libをVCのlibフォルダに突っ込んでいたのですが
kernel32.libが見つからないとの書き込みを見て
phobos64.libをWindowsSDKに移動してみても変わらず。
あるのにおかしいな??と思っていたら
あ、libも32bit版と64bit版両方あったんだ!とそこで気づきまして
sc.iniを編集して
WindowsSdkDirとVCINSTALLDIRを[Enviroment]の上のほうに持って行ってパスを設定してあげて
LIB=%WindowsSdkDir%\Lib\x64;%VCINSTALLDIR%\lib;
こんな感じに変更したところ、うまくビルドできるようになりました。
dmd2\windows\lib64とかのフォルダを作ってphobos64.libとかを放り込んで
LIB="%@P%\..\lib64";≪上のパス≫;みたいにしたほうがいいのかもしれませんね
要するに、32bit版のlibを参照していてこのような状況になってしまっていたわけですね。
おかげさまで解決&無事動作確認できました。ありがとうございます。
ただ、これやると32bitではビルドできなくなるので、
元々の設定をLIB32みたいにして残しておいて必要に応じて元に戻す必要があるみたいですね。
(ここもLIB/LIB64とかで識別してくれるようになると便利な気がしますね)
0855デフォルトの名無しさん2013/01/09(水) 16:08:37.87
WindowsSdkDirとVCINSTALLDIRがきちんと設定されていれば
link.exeの引数として渡されるからLIBに設定する必要はない
逆に言うとLIBに設定しないと動かないならWindowsSdkDirとVCINSTALLDIRの設定が間違ってる
あと、この2つの環境変数は64bit版でしか参照されないから32bit版とも混ざらなくなる
この辺りの環境変数の使い方はdmd2/src/dmd/link.cを見ればすぐわかると思う
0856デフォルトの名無しさん2013/01/09(水) 16:16:48.00
D言語側で%WindowsSdkDir%、%VCINSTALLDIR%が動いてるってことは、
システム環境変数のLIBに%WindowsSdkDir%¥Lib¥x64;%VCINSTALLDIR%¥lib;が入ってないだけだと思う
0857デフォルトの名無しさん2013/01/09(水) 16:26:08.11
2つのディレクトリパス設定の末尾に\が無いと駄目なのはバグなのだろうか…

現状64bit版はテスト版みたいなもんだからね
参照するライブラリのパスとかもいじくれるように
そのうちまた仕様変わるんじゃないの
0858デフォルトの名無しさん2013/01/09(水) 16:39:11.45
>>856
わざわざ設定しなくても64bitビルドの時に勝手に足してくるはず
この辺の挙動はそのうち確かに変わりそうw
0859デフォルトの名無しさん2013/01/09(水) 16:48:56.03
omfマンドクセから解放されるぜー
0860デフォルトの名無しさん2013/01/09(水) 17:25:13.67
32bitでもリンカにvcの使うような設定増えないかな
0861デフォルトの名無しさん2013/01/09(水) 17:35:03.05
OpenWatcomのリンカ使ってみたらどうか
0862デフォルトの名無しさん2013/01/09(水) 20:22:10.50
optlink の代替と言ったらよく名前が挙がるのが
[unilink]
ftp://ftp.styx.cabel.net/pub/UniLink/
まともなWebサイトがないのが謎だがひっそりと更新もされている

ちなみに 32bitCOFF の要望は
うぉるたんに全力でお断りされていた
0863デフォルトの名無しさん2013/01/10(木) 07:11:41.96
昔フィルターとウォルター間違えて奴の口の中にCoffee豆入れたやつがいたろ
そいつを吊し上げろ!!
0864デフォルトの名無しさん2013/01/10(木) 21:14:21.21
お前らでペーパーウォルター3DってタイトルのゲームをD言語で作ろうぜ
0865 忍法帖【Lv=4,xxxP】(1+0:5) 2013/01/10(木) 21:25:39.98
あとはまかせた。
0866デフォルトの名無しさん2013/01/10(木) 22:09:53.44
忍者きた
0867デフォルトの名無しさん2013/01/10(木) 23:12:21.44
>>864
敵が「バグ」で「アイディア」で回復。まで思いついた。
0868デフォルトの名無しさん2013/01/10(木) 23:36:38.36
バグは友達
0869デフォルトの名無しさん2013/01/11(金) 00:01:34.51
ファイナルファイトD
0870デフォルトの名無しさん2013/01/11(金) 00:59:33.26
unilinkをググってたら、ウォルたんがCOFFについて語ってるとこ見つけた
ttp://www.digitalmars.com/d/archives/digitalmars/D/Unilink_-_alternative_linker_for_win32_64_DMD_OMF_extensions_127630.html
MS-COFFのデバック情報に関する仕様が非公開だから、対応したくても出来ないってことなのかな
0871デフォルトの名無しさん2013/01/11(金) 01:43:01.03
配列とか連想配列とかフォーマット拡張してねじ込もうとしてるから
できないってのはあるかも知れない

まあ 俺としては OPTLINKから
Win9X時代の旧石器PCに最適化されたような設計を
排除してくれれば満足なんだが
0872デフォルトの名無しさん2013/01/11(金) 15:23:03.07
2.062の主な新機能
9224 Windows 64bitバイナリのコンパイル対応
VisualC の導入が必要
9222 User Defined Attribute
JavaのアノテーションとかC#のカスタム属性みたいなもの?
3011 構文追加 alias INT = int;
7041 非推奨な機能/シンボル名に対するコンパイラの挙動の変更
警告/エラーをフラグ(-dw,-de)で選べるようになった。
   【注意】デフォルトではエラー扱いされなくなった
5481 属性追加 - 非推奨関数などが使われたらコンパイル時メッセージを出せる
deprecated("I am deprecated.") void depecatedFeature(){}
5269 version(assert) の追加
5587 unittest{} でこけたときのトレースで関数名が見えないため
代わりに行番号で場所がわかるように改善
0873デフォルトの名無しさん2013/01/11(金) 15:28:22.52
コレ以外にもtraitsの機能追加とかインラインアセンブラ/SIMDとか通好みの機能拡張がかなりあった

deprecated 周りが洗練されてくるあたりが D言語らしくて素晴らしい(棒
0874デフォルトの名無しさん2013/01/11(金) 19:30:25.33
>3011 構文追加 alias INT = int;
地味に嬉しいのう
でもそのうち廃止されそうな予感がしすぎる
0875デフォルトの名無しさん2013/01/11(金) 20:24:54.74
2.062.zipがどこにあるのかいまだにわからない
0876デフォルトの名無しさん2013/01/11(金) 21:13:20.68
UDAの面白い悪用法考えようぜ
0877デフォルトの名無しさん2013/01/11(金) 21:48:33.74
>>875
ソースコードならgithubにある
ttps://github.com/D-Programming-Language/dmd/
0878デフォルトの名無しさん2013/01/11(金) 22:07:03.90
>>876
偶数秒でしかコンパイルできないソース

でもCTFEできるか
0879デフォルトの名無しさん2013/01/11(金) 22:32:08.72
>>872
2.062じゃなくて2.061だ
Coming Soon! じゃないっての
誰か突っ込めよ
0880デフォルトの名無しさん2013/01/11(金) 22:48:21.89
いや、Change Logに2.062って書いてあるんだよ
アーカイブへのリンクも貼ってあるけどリンク切れになってる
0881>>872 手直し2013/01/11(金) 23:45:23.38
2.061の主な新機能(番号は Bugzilla のもの)
9224 Windows 64bitバイナリのコンパイル対応
VisualC の導入が必要
9222 User Defined Attribute
JavaのアノテーションとかC#のカスタム属性みたいなもの?
3011 構文追加 alias INT = int;
7041 非推奨な機能/シンボル名に対するコンパイラの挙動の変更
警告/エラーをフラグ(-dw,-de)で選べるようになった。
【注意】デフォルトではエラー扱いされなくなった
5481 属性追加 - 非推奨関数などが使われたらコンパイル時メッセージを出せる
deprecated("I am deprecated.") void depecatedFeature(){}
5269 version(assert) の追加
5587 unittest{} でこけたときのトレースで関数名が見えないため
代わりに行番号で場所がわかるように改善

#もう一個追加
391 char配列の sort/reverse で UTF8のマルチバイト文字が壊れないように変更
バグフィクス扱いになってるけど新機能といっていいんじゃないかと
0882デフォルトの名無しさん2013/01/11(金) 23:49:39.55
チクショウ、一番入れたかった字下げが反映されてない!
0883デフォルトの名無しさん2013/01/12(土) 00:02:10.17
ウォルターの時差ボケは反映されているようだが
0884デフォルトの名無しさん2013/01/12(土) 01:03:58.06
391!
0885デフォルトの名無しさん2013/01/12(土) 10:12:30.01
サポート停止のはずのD1にもWin64対応が入ってるんだが
これってあと2〜3回リリースするってことかなw
0886デフォルトの名無しさん2013/01/12(土) 12:42:16.23
>>881
こうやって安価をつけると専ブラでは字下げが見えるとかなんとか
0887デフォルトの名無しさん2013/01/12(土) 12:52:28.11
Phobos のドキュメントバグもいくつか直されてるはずなのに
公式サイトに反映されてないのはどういうことだ

…ってそもそもドキュメントを再構築せずリリースしてるやんか
0888デフォルトの名無しさん2013/01/12(土) 12:55:23.64
>>886
おおお。しらんかった
0889デフォルトの名無しさん2013/01/12(土) 13:06:11.20
もしかして:専ブラのバグ
0890デフォルトの名無しさん2013/01/12(土) 13:14:00.95
AAモードになってなかったんだろ
0891デフォルトの名無しさん2013/01/12(土) 20:32:09.03
2.061の主な新機能(番号は Bugzilla のもの)
9224 Windows 64bitバイナリのコンパイル対応
   VisualC の導入が必要
9222 User Defined Attribute
   JavaのアノテーションとかC#のカスタム属性みたいなもの?
3011 構文追加 alias INT = int;
7041 非推奨な機能/シンボル名に対するコンパイラの挙動の変更
   警告/エラーをフラグ(-dw,-de)で選べるようになった。
   【注意】デフォルトではエラー扱いされなくなった
5481 属性追加 - 非推奨関数などが使われたらコンパイル時メッセージを出せる
   deprecated("I am deprecated.") void depecatedFeature(){}
5269 version(assert) の追加
5587 unittest{} でこけたときのトレースで関数名が見えないため
   代わりに行番号で場所がわかるように改善

#追加
391 char配列の sort/reverse で UTF8のマルチバイト文字が壊れないように変更
   バグフィクス扱いになってるけど新機能といっていいんじゃないかと
#さらに追加
4762 toString()をもってない構造体でもwritelnで中身を見られる
   出力: Foo(123, "text")
0892デフォルトの名無しさん2013/01/12(土) 20:39:49.75
>>872手直し
むしゃくしゃしていたのでもう一度やった。反省はしていない
enhanced な項目だけで41件もあるので他にも見逃しているやつがあるかも
0893デフォルトの名無しさん2013/01/12(土) 21:56:32.15
 ○  よくやった もうお前に用はない 
 く|)へ
  〉   ヽ○ノ
 ̄ ̄7  ヘ/
  /   ノ
  |
 /
 |
/
0894デフォルトの名無しさん2013/01/13(日) 00:52:33.40
        |l| | |l| |
        _,,..,,,,_
       ./ ゚ 3  `ヽーっ
       l ゚ ll ⊃ ⌒_つ
        )`'ー---‐'''''"(_
        ⌒)   (⌒   ビターン
           ⌒

        _,,..,,,,_
       ./ ゚ 3  `ヽーっ
       l ゚ ll ⊃ ⌒_つ
        `'ー---‐'''''"

        _,,..,,,,,,_
       ./ ,' D  `ヽーっ
       l   ⊃  ⌒_つ
        `''ー---‐'''''"
0895デフォルトの名無しさん2013/01/13(日) 01:01:52.19
     ∩___∩     /゙ミヽ、,,___,,/゙ヽ
     | 丿     ヽ    i ノ       `ヽ'
    /  ○   ○ |    / `(○)  (○)´i、  先生助けてっ!、
    | U  ( _●_)  ミ  彡,U ミ(__,▼_)彡ミ   Dちゃんが息をしてないのっっ!!
   彡、    |∪| ,,/   ,へ、,   |∪|  /゙
   /  ヽ  ヽノ  ヾ_,,..,,,,_ /  '  ヽノ `/´ ヽ
   |      ヽ  ./ ,' D  `ヽーっ   /    |
   │   ヾ    ヾl   ⊃ ⌒_つ ソ      │
   │    \__`'ー-⊃⊂'''''"__,,,ノ   |
               ` ̄´  ` ̄´
0896デフォルトの名無しさん2013/01/13(日) 01:09:06.80
むしろ過呼吸のイメージがある
0897デフォルトの名無しさん2013/01/13(日) 09:48:26.55
std.numeric 日本語訳ページの gcd のところで「最小公倍数」ってなってるけど「最大公約数」だよな?
http://www.kmonos.net/alang/d/phobos/std_numeric.html#gcd
0898デフォルトの名無しさん2013/01/13(日) 09:57:47.33
やめて!そうやって私に pull request させる気でしょう?エロ同人みたいに!
0899デフォルトの名無しさん2013/01/13(日) 10:00:03.29
not pull request.
It's a null pointer and It's a sony.
0900デフォルトの名無しさん2013/01/13(日) 10:53:07.57
>>897
だな
0901デフォルトの名無しさん2013/01/13(日) 22:22:31.58
>>898
だな
0902デフォルトの名無しさん2013/01/14(月) 04:29:15.72
>>899
だな
0903デフォルトの名無しさん2013/01/14(月) 07:57:56.02
なんか時々import忘れたりするとstd.algorithm内でエラーメッセージが出まくるんだけどアレなに?
0904デフォルトの名無しさん2013/01/14(月) 09:51:54.11
技術系メーリングリストで質問するときのパターン・ランゲージ
http://www.hyuki.com/writing/techask.html
賢い質問のしかた
http://www.ranvis.com/articles/smart-questions.ja.html
上手な質問の仕方
http://kats.twinstar.jp/vms/goodquestion.html
質問するときのコツ
http://tts.utopiat.net/bbshowto.html
0905デフォルトの名無しさん2013/01/14(月) 15:15:33.46
>>903
だな
0906デフォルトの名無しさん2013/01/14(月) 15:53:00.98
D-ers Are Not Accommodating.
0907デフォルトの名無しさん2013/01/14(月) 17:32:11.37
UDAでMFCのメッセージマップ、Delphiのmessage指令っぽいのがでけた
リンカエラーも見っけた
UDAって[ATTR]と@ATTRが使えるっぽいけどどっちか切り捨てないのかな
http://ideone.com/W66pN2
dpaste死んだのか・・・
0908デフォルトの名無しさん2013/01/14(月) 18:10:00.83
Java vs C#
0909デフォルトの名無しさん2013/01/14(月) 19:26:45.43
>>907
こりゃすげえ。
後は継承に対応できたらWindowsアプリが楽になるし、
セレクタ変換する関数をコンパイル時に呼べたら(?)objcもいけそうだ
0910デフォルトの名無しさん2013/01/14(月) 22:38:14.41
めも
User Defined Attributes
http://dlang.org/attribute.html#uda
0911デフォルトの名無しさん2013/01/15(火) 10:50:57.22
そういえば Javaの JUnitフレームワークも
アノテーションを使ってテスト関数を拾い集めたりしてたな
エディタの入力支援と連携させた方が使いやすくなるかな
0912デフォルトの名無しさん2013/01/15(火) 12:11:44.32
今まで出来なかった「属性への別名」はできる? 教えてえろい人

@dynamicOrstaticLink void someAPIFunc();

version (dynamicLink) {
//alias @dynamicOrstaticLink = extern;
} else {
//alias @dynamicOrstaticLink = attr_none;
}
0913デフォルトの名無しさん2013/01/15(火) 12:15:34.52
dynamicOr'Static'Link // 念のため
0914デフォルトの名無しさん2013/01/15(火) 23:45:25.52
> Hello.
> I am very sad to announce that DPaste life came to an end.
要するに学生なのに金を払って鯖を維持していたのがもたなくなったんだと

> For those who can't live without Dpaste anymore, Vladimir created temporary subdomain.
> Here it is: http://dpaste.1azy.net/
ソース公開するって言ってるからたぶん一時的な避難所だろう
0915デフォルトの名無しさん2013/01/15(火) 23:58:44.12
過去のコンテンツ保持されてるね。安心した
0916デフォルトの名無しさん2013/01/17(木) 10:55:35.54
DConf2013 5月予定 http://dconf.org/
まだサイトの中身は空っぽだけど

Submission deadline 2013/1/28 てのは出演側の締め切り? よくわかんね

ここで D3 の何かが出なければあと5年は先になりそうだなw
0917デフォルトの名無しさん2013/01/17(木) 21:47:02.24
5光年に見えて2度見した
0918デフォルトの名無しさん2013/01/18(金) 02:27:59.53
動的配列を切り出して固定長配列にしたい時ってどうすればいいのかな?
固定長で受け取る関数に動的配列の一部をサクッと渡したいんだけどなんか一手間余計にかかる気がする・・・
0919デフォルトの名無しさん2013/01/18(金) 02:43:22.09
>>918
受け取る側でデータをどう扱うつもりかで決まる
中身いじるのかimmutableか、コピー作る必要があるのか、
固定長なら長さはなんでもいいのか、長さまで含んだ型なのか
0920デフォルトの名無しさん2013/01/18(金) 03:04:27.20
固定長配列じゃなくて静的配列って言うのか?static属性がついてるわけじゃないけど。
int[2]みたいなやつ。
今は
void hoge(int[2] a) {} // 受ける側。引数ひとつにしてあるけど本当はいっぱいある中に混じってる
int[] arr = [1,2,3,4,5];
int[2] buf;
buf[] = arr[2..4];
hoge(buf);
みたいにやってるけど、これもうちょっと短くならない?
0921デフォルトの名無しさん2013/01/18(金) 04:12:38.30
↓まあ、こういうの定義すれば
auto fixedArray(size_t N, T)(in T[] array) @property @safe pure
{
T[N] fixed;
fixed[] = array;
return fixed;
}
↓こう書けるけど
hoge(arr.fixedArray!2);

確かにこういうんじゃなくてもっと綺麗にできそうな気はするね
つか、静的配列って値渡しだしわりと根っこから違う型なのね……
使うことないから知らんかったわ
0922デフォルトの名無しさん2013/01/18(金) 13:16:39.61
>>891 に更に追記
8128 interface の中に unittest を記述できる
   static な関数実体を持つ interface のための機能

FIXEDとマークされてなかったから間違って2.062の方にリストされているという
0923デフォルトの名無しさん2013/01/18(金) 17:14:01.67
せっかくWikiあるんだからそっちに書けよ・・・と思ったら友の会が死んでやがる・・・
403だから改修中なんだよなそうだよな
0924デフォルトの名無しさん2013/01/18(金) 18:35:05.06
dusers is dead, but he doesn't know it
0925デフォルトの名無しさん2013/01/18(金) 18:39:21.67
Walter was already dead.
But no one knows that.
Our people enjoing their own life.
We don't need a D Programming language.
0926デフォルトの名無しさん2013/01/18(金) 18:45:26.18
>>925
he charms many parson already.it is too late.
0927デフォルトの名無しさん2013/01/18(金) 23:58:50.07
>>920
あれだ。その静的配列が何度も出てきて、ちゃんとした意味をもってるならもう構造体にしちゃえばいいんじゃないかな
http://dpaste.dzfl.pl/353f9603
0928デフォルトの名無しさん2013/01/19(土) 00:18:28.25
実体の一致とか考えなくて良ければ
配列を返すクラスか関数用意して
処理側関数引数はlazyにしちゃえばいいんだよね
0929デフォルトの名無しさん2013/01/19(土) 14:52:36.36
windowsプログラミングをずっとc++でやってたけど、D言語使いだしてからやめられない
ウィンドウのクラス化でさんざんウィンドウプロシージャの扱いに苦労してたけど
文字列mixinでクラスのインスタンス化と同時にユニークな関数作ればアホみたいに簡単に解決できる

ググるとc++で恐ろしく面倒なことしてる人たちいるけど
是非とも教えてやりたい。
0930デフォルトの名無しさん2013/01/19(土) 14:57:58.45
能書きはいいから、
さっさと教えろやボケが。
0931デフォルトの名無しさん2013/01/19(土) 15:36:24.38
よう読みなされ
0932デフォルトの名無しさん2013/01/19(土) 15:53:09.91
文字列mixinは便利すぎる黒魔術
0933デフォルトの名無しさん2013/01/19(土) 16:44:04.10
>>930
インスタンス化と文字列ミックスインでコールバック関数生成を同時にやるテンプレート一個つくって終わり

よくあるstatic関数+SetWindowLongやATLのvtblすり替えみたいにオーバーヘッドでかい処理しなくていいから楽だぞ
コンパイル時リフレクションでswitchの中身も仮想関数定義によって変更させれるから
win32api直書きと遜色ない速度で走らせられるしな
0934デフォルトの名無しさん2013/01/19(土) 16:50:39.27
今どきのPCで気にするほど何か差が出ることなの?
0935デフォルトの名無しさん2013/01/19(土) 17:02:17.46
シューティングゲームやペイントソフト作ったときポインタのとびができるとかか
そもそもwindowsがマウス動かしただけでWM_MOUSEMOVE送りまくる糞仕様d(ry
0936デフォルトの名無しさん2013/01/19(土) 17:20:20.64
WM_MOUSEMOVE送りまくる糞仕様という糞仕様人間現る
0937デフォルトの名無しさん2013/01/19(土) 17:29:53.72
戦闘力たったの400dpiか…ゴミめ…
0938デフォルトの名無しさん2013/01/19(土) 17:54:52.96
文字列mixin使ってると、中で使われてもいい変数を区別させたくなるんだけど、
alias id void;
とかで未定義化できないかなあ
0939デフォルトの名無しさん2013/01/19(土) 18:20:18.48
>>936
せめてXみたいに興味のないメッセージをマスクしてくれないもんかねー
BeOSのAPIとか今見てもすごいと思う
0940デフォルトの名無しさん2013/01/19(土) 18:33:08.62
GetMessageでマスクできたような・・・
0941デフォルトの名無しさん2013/01/19(土) 18:49:04.46
>>940
上限と下限だけなのが悲しいところ
0942デフォルトの名無しさん2013/01/19(土) 18:52:23.86
PeekMessageだといろいろついてるよ
0943デフォルトの名無しさん2013/01/19(土) 18:58:18.57
あれ?ここWinAPIスレ?
0944デフォルトの名無しさん2013/01/19(土) 20:20:10.71
>>938
static assertとis式でなんとかならんかな

static assert (!is(id));
0945デフォルトの名無しさん2013/01/19(土) 23:27:39.61
>>943
プログラム板でWinAPIの話するなら
WinAPIスレとは名ばかりの煽りスレより
各環境ごとのスレのほうが捗るからなあ…
0946デフォルトの名無しさん2013/01/19(土) 23:41:22.09
サンプルコード見てみたいな
0947デフォルトの名無しさん2013/01/20(日) 10:26:04.57
俺も興味ある
簡単なウィンドウ生成コードよかったらリンクとかでもいいから貼ってくださいまし
0948デフォルトの名無しさん2013/01/20(日) 14:38:15.96
Winapiの発展は
C言語のインターフェイスによって阻害されていたと言っても過言ではない
しかし、我ら選ばれしDの民は
この状況を変えるだけの力を得るに至った。
国民よ!今こそ立ち上がる時が来たのだ!!
これは、栄光への一歩である。
この世界は、Dによる統治を求められていたのだ。
さあ、前に進もう。時代は私たちが作ろう!!
0949デフォルトの名無しさん2013/01/20(日) 14:56:27.20
お、おう
0950デフォルトの名無しさん2013/01/20(日) 15:20:03.96
やべぇ…鶏肉竜田…
0951デフォルトの名無しさん2013/01/20(日) 15:56:08.58
D言語最近かじり始めたんだけど、まず何をできるようにするべき?
0952デフォルトの名無しさん2013/01/20(日) 16:24:23.12
まず服を脱ぎます
0953デフォルトの名無しさん2013/01/20(日) 16:58:44.51
服をたたむコードを書きます
0954デフォルトの名無しさん2013/01/20(日) 17:01:17.36
ネタレスは邪魔だから雑談スレでやってくれ

>>951
C++が使えるならC++との差を把握する
0955デフォルトの名無しさん2013/01/20(日) 17:08:38.97
何をやりたいかだよなぁ
割となんでもできる
GUI以外
0956デフォルトの名無しさん2013/01/20(日) 17:19:37.11
最初はちょっと便利なC++くらいの扱いで十分でないか
0957デフォルトの名無しさん2013/01/20(日) 17:42:16.79
>>954
C++できません。。。

>>955
最終的にはcgiとして動かして、掲示板みたいの作ってみたいです。
トリップ検索や、Yahoo!にPOSTとかもしてみたいですね。
0958デフォルトの名無しさん2013/01/20(日) 17:48:57.41
なんかそういう用途ならD言語よりスクリプトの方が向いてると思うけど
なんでD言語やりたいの?
言語の適材適所とかわからずに流行ってる(?)からD言語始めるとか言ってるなら
D言語はお勧めしないよ
言語仕様変更とかあるし
0959デフォルトの名無しさん2013/01/20(日) 17:56:17.01
>>958
コンパイラ言語を一つ習得したいからです。。。

コンパイラ言語のほうが向いてることってなんですか?
0960デフォルトの名無しさん2013/01/20(日) 17:56:53.22
え、仕様変更があるの!?

どう仕様…
0961デフォルトの名無しさん2013/01/20(日) 18:00:20.12
何故コンパイラ言語にこだわるのか
0962デフォルトの名無しさん2013/01/20(日) 18:00:55.84
今は夕方だからね
挨拶はコンバンワ
0963デフォルトの名無しさん2013/01/20(日) 18:03:15.49
ハローワーク帰りだったから、空に刺したよ
0964デフォルトの名無しさん2013/01/20(日) 18:03:48.11
湖の水に
0965デフォルトの名無しさん2013/01/20(日) 18:04:07.77
C++の改良で、JavaとかC#とか。しかし、やっぱりEXEがほしいとなると、Dかも
0966デフォルトの名無しさん2013/01/20(日) 18:09:57.02
つまらないネタレス書くのは何のため?
0967デフォルトの名無しさん2013/01/20(日) 18:53:58.60
枯れ木(それら)も山(D言語界隈)の賑わい
波平の髪の毛くらい静まり返ってるくらいなら
ウォルターの鼻毛くらいには賑わいを見せたほうがいいじゃない
0968デフォルトの名無しさん2013/01/20(日) 19:06:31.45
JavaやC#では、その設計思想によりネイティブコードを出力できません。つまり、実行速度ではC++に到底かなわないのです(中略)
その答えが「D言語」なのです。
D言語のススメ|Cマガジン2004年11月号p.83
0969デフォルトの名無しさん2013/01/20(日) 19:19:52.14
実行時最適化のほうが云々
0970デフォルトの名無しさん2013/01/20(日) 19:26:13.24
言語が生まれた背景としてネイティブコードが出力されないだけであって
理論上・設計上は出力可能だと思うぞ
0971デフォルトの名無しさん2013/01/20(日) 19:47:04.14
今時はJITコンパイラもあるから
ネイティヴがスクリプト言語より優れてるのは実行環境がOS以外にいらないところだと思う
0972デフォルトの名無しさん2013/01/20(日) 19:52:05.44
JavaやC#も、数値計算のベンチマークだけだとネイティブを凌駕することもあるしな
けどユーザーにとっては速度=応答性なんで、JITはどうしても遅く感じられる
0973デフォルトの名無しさん2013/01/20(日) 19:54:27.41
.NETなんかはインストール時にコンパイルしとけみたいな設定ができるね
いずれにせよサーバサイドではそれ系の言語の不利は全くない
0974デフォルトの名無しさん2013/01/20(日) 20:07:04.30
サーバーも、それ単体でサーバーになれるならともかくCGIなんかで毎回起動と終了を繰り返すとry
0975デフォルトの名無しさん2013/01/20(日) 20:16:48.55
今時、高負荷が前提だったら、そんな設計にするのが間違いで、言語関係ないな
0976デフォルトの名無しさん2013/01/20(日) 20:26:52.29
そこは、大丈夫だ、そう、D言語ならね、と押しておくところだろう
0977デフォルトの名無しさん2013/01/20(日) 21:16:04.87
スクリプト言語は確かに強かろうがDの敵ではないのである
0978デフォルトの名無しさん2013/01/20(日) 22:34:42.61
D言語は仕様変更があるたびに
喜びに打震えるマゾ御用達の言語である
0979デフォルトの名無しさん2013/01/20(日) 23:21:23.46
そうか、仕様変更されないD1を使えば…!
0980デフォルトの名無しさん2013/01/20(日) 23:52:46.09
D1は去年でサポート停止(キリッ
って言ってたのになんでまだコソコソいじってんだ?

って突っ込まれてたよ
0981デフォルトの名無しさん2013/01/20(日) 23:53:50.38
仕様変更のないD言語なんかいやだ
0982デフォルトの名無しさん2013/01/21(月) 07:24:06.46
ウォルター「そこに穴があるから。男なら突っ込んで当然だろ?」
0983デフォルトの名無しさん2013/01/21(月) 11:29:37.83
アッー!
0984デフォルトの名無しさん2013/01/21(月) 12:42:20.60
そのレス面白くない
0985デフォルトの名無しさん2013/01/21(月) 12:43:22.56
次スレ D言語 Part31
http://toro.2ch.net/test/read.cgi/tech/1358739594/
0986デフォルトの名無しさん2013/01/21(月) 12:46:11.23
おつ!
0987デフォルトの名無しさん2013/01/21(月) 15:09:55.79
レズれ。
0988デフォルトの名無しさん2013/01/21(月) 15:16:52.33
スレ梅記念にマジレスすると
Qt とか Python とか知ってしまうと
D いらないんだよね
0989デフォルトの名無しさん2013/01/21(月) 15:23:36.36
いやいや
それはねーよw
0990デフォルトの名無しさん2013/01/21(月) 15:25:16.17
一般的に荒れてるってほどでもないんだけど
まったりしてる時のここがけっこう好きなんでしんどい気分になってしまうなあ
0991デフォルトの名無しさん2013/01/21(月) 16:10:40.40
おまえにきにいってもらおうとはおもわん
0992デフォルトの名無しさん2013/01/21(月) 16:14:15.97
NGできねえからな。
どうせすぐ飽きて去る。
0993デフォルトの名無しさん2013/01/21(月) 17:07:08.74
実はこのスレには本物のアイちゃんがいるのではないかと思っている
0994デフォルトの名無しさん2013/01/21(月) 19:32:36.37
QtDなめんな
コンパイルできてリンクまでできてしかも動くことがあるんだぞ
0995デフォルトの名無しさん2013/01/21(月) 19:33:19.09
動くことがあるのか
それは素晴らしいことだね
0996デフォルトの名無しさん2013/01/21(月) 19:48:06.60
動かないライブラリはただのライブラリだ
0997デフォルトの名無しさん2013/01/21(月) 19:53:02.47
中之島ライブラリ
0998デフォルトの名無しさん2013/01/21(月) 20:22:31.28
1000ならDのシェアが0.1%超え
0999デフォルトの名無しさん2013/01/21(月) 20:23:20.24
Dのマスコットが世界を席巻!
1000デフォルトの名無しさん2013/01/21(月) 20:37:04.67
1000ならDのマスコットのきぐるみが出る
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。