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


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

D言語 Part18



1 名前:デフォルトの名無しさん [2008/04/14(月) 15:16:22 ]
プログラミング言語 D (D Programming Language) について語るスレッドです。
過去スレは >>2

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

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

■参考URL
ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
ttp://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
ttp://dsource.org/ (dsource)
ttp://tinyurl.com/3da5oa (C/C++に疲れた人のD言語)
ttp://www.kmonos.net/alang/wnd/ (わかったつもりになるD言語)
ttp://shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか)
ttp://shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座)
ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
ttp://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)

■ IDE
ttp://dronten.googlepages.com/dscite (DSciTE)
ttp://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks)
ttp://www.dprogramming.com/entice.php (Entice Designer)
ttp://www.dsource.org/projects/descent (Descent)
ttp://www.dsource.org/projects/poseidon (Poseidon)

183 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 21:04:49 ]
>>182
あれ?どうやったらD2で使えるんですか?

184 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 21:26:32 ]
ttp://wiki.dprogramming.com/Dfl/D2-0
まだ対応してないとも書いてるけど

185 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 22:01:43 ]
うちの環境がおかしいだけでできるみたいです

186 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 22:32:15 ]
インストールして普通に動いたよ@v2.013

>>184
スナップショットのほうで対応してるってことかと。

187 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 23:09:11 ]
なんでpathが通ってないのにdfl.exeは
c:\d2\dmd\bin\dmd.exeじゃなくて
c:\d\dmd\bin\dmd.exeの方を使おうとしてくれるのだろうか orz
c:\d を c:\_d に改名したら普通に動くのに・・・
どこかに設定が残っているのでしょう?

188 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 23:15:56 ]
多分わかった
両方のバージョンを入れていて競合する人はdfl.exeを使う前に
dfl -i
を実行してやればいいみたいだ

189 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:29:43 ]
>>179
会いに来て荒♪井♪注♪

190 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 07:28:43 ]
DFLでつかえるコントロール一覧のスクリーンショットってなかったっけ

191 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 16:24:34 ]
ttp://www.dprogramming.com/dflscreenshots.php



192 名前:デフォルトの名無しさん [2008/05/09(金) 22:01:09 ]
dmd1.029
class Test
{
int[string] x;
void a(Test* t){assert("hello" in t.x);}
Test* b(){return &this;}
}

void main()
{
Test t = new Test();
t.x["hello"]=1;
t.a(t.b); // Error: Access Violation
}

ナゼ?

193 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:48:28 ]
Test#b はローカル変数のアドレスを返してるようなもんだと思うんだけど

194 名前:192 [2008/05/10(土) 01:38:42 ]
>>193
確かにTest#bを
Test* b()
{
static Test c;
c = this;
return &c;
}
にすると解決
ただ、なんとなくいまいち泣希ガス
意図としては関数bには&tを返してほしいんだが、そういうのはワガママ?

195 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 01:49:12 ]
そんなの無理だろ。
オブジェクトを値渡ししてるのに

196 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 01:54:47 ]
もともと参照だしそれって意味あるの?

197 名前:192 [2008/05/10(土) 02:18:39 ]
ああ、そういえばそうか。
根本的なことわすれてるなおれ。

別方法で打開しました。おさわがせ。

198 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 02:55:09 ]
class Test
{
int[string] x;
void a(Test t){assert("hello" in t.x);}
Test b(){return this;}
}

void main()
{
Test t = new Test();
t.x["hello"]=1;
t.a(t.b);
}

これじゃ駄目だったの?

199 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 03:51:49 ]
C++使ってたから俺も混乱した

200 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 19:35:18 ]
Dも、C#みたいに型省略宣言入れてくれよ。

201 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 19:36:25 ]
autoで我慢しなせぇ。



202 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 22:11:02 ]
>>200 どんなの?

203 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 22:19:29 ]
匿名型のことかな

204 名前:202 mailto:sage [2008/05/10(土) 22:45:05 ]
これか?
void main(){
    auto x = new class {int a; string b;};
    x.a = 1;
    x.b = "hoge";
}


205 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 22:56:52 ]
auto x = new class {int a; string b;};
auto y = new class {int a; string b;};

Dだとxとyが同じ型にならないのがだめだな。

206 名前:202 mailto:sage [2008/05/10(土) 22:59:05 ]
まあそういう仕様だわなあ
同じ型がいい理由ってどんなんがあるの?

207 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 23:00:45 ]
ん・・・あれ?
行頭のスペースが残ってる
for(;;){
    writefln();
}

208 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 23:05:14 ]
>>206
配列に突っ込みたいときとか

209 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 23:31:08 ]
てs

210 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 05:34:08 ]
  だろ?

211 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 08:00:40 ]
うーんLINQみたいな応用があれば
匿名型は有意義なんだろうけど今のままならあんまりかなあ
匿名型のTupleを可変長テンプレートの引数に与えるとかで代用できないのか



212 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:00:31 ]
>>191
ありがとう〜

213 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 08:33:31 ]
連想配列asにキーkeyのものがあるかどうかを調べて、
なければ作成する
auto p= key in as;
if( p is null ) {
 as[key]= A()
 p= key in as;
}
っていうのがめんどくさいので、過去スレ参考にして以下みたいなのを
つくってみた
template key_type(T)
{
 static if(is(T A:U[A],U)) { alias A key_type;}
}

template return_type(T)
{
 static if(is(T A:U[A],U)) { alias U return_type; }
}

return_type!(T)* has(T)( ref T as, key_type!(T) key)
{
 auto p= key in as;
 if( p !is null ) return p;
 static if( is(return_type!(T):Object) ) {
  as[key]= new return_type!(T)();
 } else {
  as[key]= return_type!(T)();
 }
 return key in as;
}

214 名前:213 mailto:sage [2008/05/12(月) 20:41:00 ]
auto p= has( as, key)
p.MEMBER= VALUE;
って感じです。
こうやったほうがいいぜ、とかご意見ありましたらm(_ _)m

215 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:42:16 ]
V* has(K, V)( ref V[k] as, K key)

とかじゃあかんの。

216 名前:213 mailto:sage [2008/05/12(月) 23:46:32 ]
がーーーーん

217 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:54:09 ]
配列は参照型だからrefである必要もないな。

218 名前:213 mailto:sage [2008/05/13(火) 08:30:21 ]
>>215,217
さらしてみるもんですね・・
ありがとうございます

219 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 20:33:38 ]
DBIに
private import tango.stdc.stringz : toDString = fromUtf8z, toCString = toUtf8z;
というコードがあるんですが、
これってどう修正すれば動くんでしょう?

220 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 20:56:43 ]
こうかな?
private import tango.stdc.stringz : toDString = fromStringz, toCString = toStringz;

参考:
dsource.org/projects/tango/docs/current/tango.stdc.stringz.html
www.kmonos.net/alang/d/2.0/module.html

221 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:30:45 ]
>>220
ありがとうございます。



222 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:42:04 ]
dでSqliteを使おうと思っています。
www.digitalmars.com/download/freecompiler.html
でImplibを使ってLibファイルを作り、
pragma (lib, "sqlite3.lib");
extern (C):
int sqlite3_open (char* filename, sqlite3** database);
int sqlite3_close(sqlite3* database);
として関数を使ってみたんですが、Undefined Symbolと出てしまいます。

何か足りないものか間違ってる所があるんでしょうか?

223 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 22:17:29 ]
sqlite3

224 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 23:06:23 ]
小文字を大文字にするテンプレートを書いてみたんだけど

ttp://codepad.org/Ola6Mjkq
こう書くより、

ttp://codepad.org/kEF07sfw
と、末尾再帰の形にしたほうがいいのかな?

コンパイル時に末尾最適化がかかるとは思ってないけども、
文字列が長くなったときに影響あるかな…と思いまして。

225 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 23:09:58 ]
>>224
関数にすれば良くね?

226 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 23:29:12 ]
>>225と同じく関数でいい気がする。
適当にコンパイル時に実行できるようにしてみた。
string toUpper(string src){
if(src.length == 0)return "";
foreach(i,c;src){
if('a'<=c && c<='z'){
string result = src[0..i];
foreach(d;src[i..$])
result ~= ('a'<=d&&d<='z' ? d-'a'+'A' : d);
return result;
}
}
return src;
}
void main(){
const static x = toUpper(null);
printf("%.*s\n",x);
}


227 名前:224 mailto:sage [2008/05/13(火) 23:48:25 ]
>>224 >>225
コンパイル時に実行できる関数がうまく作れなかったのでテンプレートにしたんだけど
関数で書けるのなら関数のほうがいいですね。参考になりました。ありがとう。

228 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 00:20:18 ]
>222
ポエニーのソースを見ると良いよ。sqlite3 をつかってたはず

229 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 04:01:35 ]
>>228
ありがとうございす。
ソースの中にあった、dllとLibファイルを入れ替えたら動きました・・・。
Libファイルの作り方が悪かったようです。

230 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 07:12:25 ]
ひさしぶりにDさわったら、ずいぶんましになってんのな
前はコンパイラがすっこんすっこん落ちてた

231 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 10:11:13 ]
void foo() {
void bar(...) {
}
}

これをdmd_2.012-030708_i386.debでコンパイルするとSegmentation faultが出る



232 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 14:22:02 ]
可変引数(?)の...をその関数内の...を受ける関数に渡す場合ってどうすればいいんでしょうか?

233 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 16:00:42 ]
タプルでいいならこれでおkかな?
void foo(T...)(T a){
void bar(U...)(U b){writefln(b);}
bar(a);
}

234 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 19:58:22 ]
>>232
Cスタイルならva_listをとる関数を別途用意するしかない。
Dスタイルなら配列で受けて配列のまま渡せばいい。
可変長引数タプルなら>>233。これが汎用性は一番高い。

235 名前:デフォルトの名無しさん [2008/05/14(水) 23:04:12 ]
dmd1.029+
dsource.orgのWindowsAPI bindings+
わなDさんから頂いたcoffimplibでPlatformSDKから作ったlib

でWM_IME_CHARがこないんだ、がみんなどうよ?


236 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 13:13:07 ]
Error: no property 'hogefunc' for type 'hoge.Hoge'
これはどういう意味なんでしょう。
関数は定義されてるはずなんですが。

237 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 13:14:28 ]
思いっきり勘違いでした。
定義されてない関数でした。

238 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 16:21:34 ]
>>235 それをパッと実験できる準備ができてる人はあんまりいないと思う

239 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 01:32:39 ]
文字列の連想配列って
char[char[]][]
じゃエラーになるんですが、どういう風に宣言すればいいんでしょう?

240 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 01:42:54 ]
string[string]

241 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 03:03:20 ]
char[][char[]]



242 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 16:07:18 ]
>>239
それじゃ文字の連想配列の配列じゃね

243 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 20:47:04 ]
dでリフレクションな事ってできませんかね。
アクション呼ぶのにSwtich文つらつら書いてるのがあれなんですが。

244 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 21:43:46 ]
1.reflection.dを使う
2.BOFの発表であったいずれ来るかもしれないライブラリを待つ
3.自分で作る
のどれかかな

245 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 06:44:20 ]
>>241
>>242
動きました。
ありがとうございました。

246 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 11:56:07 ]
と思ったら動いてませんでした。
["hoge":"omg","test":"sod"];
こういう配列を受け入れる変数はどういう宣言が必要なんでしょうか。

247 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 11:59:31 ]
string[string] aa = ["hoge"[]:"omg"[],"test":"sod"];

248 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 13:23:02 ]
あぁ、すごい勘違いですた。
~=じゃなくてそのまま=で入れられるんですた。

249 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:19:03 ]
Version D 2.014 May 16, 2008
New/Changed Features
Added -man switch to browse manual.
Added -lib switch to generate library files. Also causes multiple object files to be generated from one source module.
When generating an executable file, only one object file is now generated containing all the modules that were compiled, rather than one object file per module.
Rewrote the rdmd utility to properly track dependencies and command-line compiler options (currently only working under Linux).
Changed the Phobos makefile linux.mak to take advantage of the new -lib feature. Improved full build speed by 3x.
std.algorithm: Changed the map() function so that it deduces the return type. Also map can be now curried.
std.contracts: Added file and line information to enforce. Added errnoEnforce that formats the error message according to errno. Added corresponding ErrnoException class.
std.conv: Made std.to curryable. Changed std.to to throw exception when object-to-object cast fails. Eliminated some superfluous printfs.

250 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:19:48 ]
std.encoding: Added new functions encodedLength(dchar) and encode(dchar, ref E[])
std.encoding: Got rid of types Utf8, Utf16, Utf32, Ascii, Latin1, Windows1252. Introduced types AsciiChar, AsciiString, Latin1Char, Latin1String, Windows1252Char, Windows1252String.
std.encoding: For now commented out std.encoding.to.
std.file: Changed Boolean function signatures (e.g. exists) to return bool instead of int. Got rid of some gotos. Added the readText, lastModified, mkdirRecurse, and rmdirRecurse functions.
std.functional: Improved compose so it accepts an unbounded number of functions. Added the pipe function.
std.getopt: Added new option stopOnFirstNonOption. Also automatically expand dubious option groups with embedded spaces in them (useful for shebang scripts)
std.math: improved integral powers
std.md5: Improved signature of sum so it takes multiple arrays. Added getDigestString.


251 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:20:09 ]
std.path: changed signatures of test functions from bool to int. Implemented rel2abs for Windows. Improved join so that it accepts multiple paths. Got rid of some gotos with the help of scope statements.
std.process: added getenv and setenv. Improved system() so it returns the exit code correctly on Linux.
std.random: added the dice function - a handy (possibly biased) dice.
std.typecons: Finalized and documented the stupendous Rebindable template.
std.utf: added the codeLength function. Got rid of some gotos.
Bugs Fixed
std.format: Fixed unlisted bug in raw write for arrays
std.getopt: Fixed unlisted bug in dealing with one-letter options with bundling disabled




252 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:22:26 ]
Bugs Fixed
std.format: Fixed unlisted bug in raw write for arrays
std.getopt: Fixed unlisted bug in dealing with one-letter options with bundling disabled
Bugzilla 2014: fopen fails on large files.
Bugzilla 2031: Documentation: template value parameters
Bugzilla 2032: Documentation for creating a class on the stack is unintuitive
Bugzilla 2037: Article on hijacking is outdated
Bugzilla 2038: Remove hello2.html from samples directory
Bugzilla 2039: -ignore switch is missing from compiler docs
Bugzilla 2054: Const system broken on struct assignment.
Bugzilla 2055: (ICE) Compiler crash on struct initializer with too many elements
Bugzilla 2056: Const system does not allow certain safe casts/conversions involving deep composite types
Bugzilla 2058: Describe hidden value passed to class member functions
Bugzilla 2063: std.xml access violation for nested, closed tags
Bugzilla 2065: Return value of std.file.exists() is inverted.

253 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:23:12 ]
Bugzilla 2067: call from anonymous class makes access violation.
Bugzilla 2071: spec doesn't mention pointer arithmetic with two pointer operands
Bugzilla 2072: std.typecons documentation anomaly.
Bugzilla 2074: Variant arithmetic operations fail. For now the fix is to comment out all right-hand side operators. Suggestions for a better fix are welcome.
Bugzilla 2075: Spec does not specify how array literals are stored.
Bugzilla 2084: operator ?: does not compute the tightest type
Bugzilla 2086: Describe relationship between string and char[] more explicitly
Bugzilla 2089: Issues with CTFE and tuple indexes
Bugzilla 2090: Cannot alias a tuple member which is a template instance
Bugzilla 2100: Assertion failure: '0' on line 4842 in file 'expression.c'
Bugzilla 2109: asm {lea EAX, [0*0+EAX]; } rejected.

-EOF-

254 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:40:48 ]
1) ユーティリティとしてのdmdの使い勝手の向上
2) phobosの改善
3) バグ修正

といったところか

255 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 18:27:42 ]
関数ごとに.objを分けるみたいな機能で、リンク速度が向上して、サイズは小さくなるのかな。

256 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 23:22:30 ]
最近、64bitのLinux環境でD言語を使い始めたんですけど、
gdcって、もう開発停止してるんですか?
メンテもされてないコンパイラを使うのは少し気が引けます。

257 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 23:27:20 ]
ペース遅いけど今も開発されてるよ。

258 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 23:29:12 ]
開発は停止してないようだがリリース間隔はお世辞にも早いとはいえない

259 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 23:34:46 ]
早くコミット権限を貰いに行って最新版DMDに対応させる作業にかかるんだ!

260 名前:256 mailto:sage [2008/05/17(土) 23:45:48 ]
>>257,258
レスありがとうございます。
sourceforge見てもわからなかったので、困ってました。
とりあえずgdcを使っていこうと思います。

261 名前:デフォルトの名無しさん [2008/05/17(土) 23:47:03 ]
win32版dmd1.028で連想配列の動的配列のlengthを設定しようとすると
固まるんだけど、誰か分かりませんか?

こんなの

int main() {
 int[int][] a;
 a.length = 5;
 return 0;
}



262 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 00:25:43 ]
>>261
ほんとだ。これでも固まる(実行時)。

void main()
{
typedef int[int] intint;
intint[] a = new intint[5];
}

263 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 00:47:15 ]
シャアw

264 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 04:04:55 ]
>>261
それはずっと前からバージョン関係なく止まる。
効率良くはないが、俺はループさせてnullで埋めたりしてた。

265 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 08:36:52 ]
伝説のIDEか
ttp://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.ide&artnum=176
Zeus自体は有料なんだけどね
ttp://www.zeusedit.com/index.html

266 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 16:45:27 ]
std.bindいじってたらdmd落ちた・・・
どこが原因かわかんね

267 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 17:30:22 ]
2.014 std.xmlがうまくうごかなくなった・・
onStartTag内で、attrがからっぽ

268 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 03:50:56 ]
質問なんですが、一度設定したらそれ以降不変なメンバの初期化をコンストラクタに
与えられた値を使って行いたいです。D言語だとinvariantなメンバの初期化はどうやって
行うのでしょうか。

269 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 04:56:06 ]
以下のようにコンストラクタ内で初期化すればいいんじゃないの?

class Foo
{
invariant int bar_;

this(int bar)
{
bar_ = bar;
}

void bar(int baz)
{
//bar_ = baz; コメント外すとError: can only initialize const member bar_ inside constructor
}
}

270 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 08:19:55 ]
DはC++と違ってメンバ初期化子ないもんね

271 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 08:25:55 ]
参照型のクラスにはいらないし
値型の構造体にはコンストラクタが定義できない
無駄なインスタンスが作られないからメンバ初期化子はいらないわけか



272 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 08:56:39 ]
誰かstd.encodingについて3行でまとめてくれ

273 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 09:12:33 ]
切り捨てなきゃ無理

274 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 14:09:25 ]
文字列エンコーディングに関する標準が出来た感じ?
encodingのドキュメントぱっと見たけど、シグニチャがGeneric過ぎて使い方がすぐイメージできんw
あとEncodingSchemeASCIIとかのクラス名はASCIIEncodingSchemeのほうが良くないか。
語順がなんか気持ち悪い。

ともあれ、これにEncodingStreamと、ICUEncodingSchemeとかを加えてやれば、
Javaや.NET並のエンコーディング処理能力が得られるのかな。

275 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 17:28:28 ]
>Javaや.NET並のエンコーディング処理能力が得られるのかな。
それはいいな

276 名前:デフォルトの名無しさん [2008/05/20(火) 03:00:00 ]
int hoge();
void hoge(int v);
で、hoge っていうプロパティになるらしいけど、
hoge++;
って出来ないのは何とかならないですか?
DMD 1.028 です。

277 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 03:14:21 ]
なんともなりまへん。

278 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 06:16:40 ]
ニュースグループで、ウォルたんにお願いしてみるしか。
気が向いたら、やってくれるかも。


279 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 07:34:51 ]
+=もだめだっけ。結構前から「いつかやる予定」ってどっかに書いてなかった?

280 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 16:09:15 ]
「いつかやる予定」=「めどいからやらない」

281 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 17:00:58 ]
時の流れが、少ないコードで何も崩さずそれを追加できるよう状況を整理するのを待ってるわけか。

いや、「いつの間にか必要無くなってる」というのを待ってるのかもw



282 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 17:52:35 ]
コンパイラのソースが公開されてるんだから
自分たちでやるっつーのは?

283 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 18:03:47 ]
言語として互換性を損なうと、それこそ意味がない。






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

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

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