[表示 : 全て 最新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)

151 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 23:24:11 ]
1.0から0.2を5回引いても0にならないのはどうにかならないんでしょうか・・・。

152 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 23:37:42 ]
面倒でも整数で

153 名前:149 mailto:sage [2008/05/02(金) 23:40:14 ]
>>150
うーん、確かに半端だ…
.NET Framework の Type.Fullname プロパティ相当のものが
現在のD言語には用意されていないようなのが不味いのかな。

154 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:19:06 ]
>>151
浮動小数点数がどういうものかを勉強しろ。

155 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:33:29 ]
Dの浮動小数点数ってずいぶん貧弱なんですね

156 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:37:58 ]
>>148
stringof はタプルに対しても使える。
モジュール名は実行時でも良いなら typeid で取れるね。

157 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:16:37 ]
>>155
Dの・・・?

158 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:24:55 ]
あちこちで春ですよ

159 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:36:59 ]
さすがに>>155には失笑した



160 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:48:20 ]
>>155はとりあえず基本情報処理技術者の資格を取ってきなさい

161 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:51:09 ]
>>155
今まで使ってきた言語を示すべし

162 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 02:25:19 ]
PythonのDecimalみたいなのがあれば良いんじゃない

163 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 02:51:49 ]
>>162
Decimalはライブラリ(というかモジュール?)だから組み込みどうしではPythonも同じじゃない?
標準で入れるべき,となるとまた別な問題な気がするけど,dsourceとかにあるのかなぁ

164 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 10:30:41 ]
Dの10進浮動小数点数ライブラリはまだ見たことはないな
まあ、欲しい奴が移植すればいいだろう

165 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 15:22:40 ]
>>155はMatlabとかMathematicaとか使ってたんだろ。

166 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 15:37:18 ]
C#は1.0から128bitDecimal型標準装備だな

167 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 09:46:12 ]
>>143-144に刺激されて、Eclipse&Dscentいれてみたが、
VSのMakeプロジェクト、asm{ int 3;} に慣れすぎていた自分がいた・・・

168 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:02:20 ]
仕様で見つけられないので質問です。(1.0 の仕様しか見てませんけど)

クラスメンバーのアクセス制限属性(private とか protected とか)は、
記述したらそのアクセス制限が適用されるのはわかるのですが
記述しなかった場合、どのアクセス制限が適用されるのかご存じのかた居ませんか?

とりあえず試した限りでは public っぽいのですが・・・。

169 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:23:20 ]
www.kmonos.net/alang/d/2.0/struct.html
デフォルト publicだよ



170 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:25:48 ]
あ、ごめん2.0のURL出しちゃったけど1.0系でも同じだよ

171 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:43:51 ]
・・・これで判れというのもなかなかシビアなものがある。>DigitalMars

どもありがとうございました〜

172 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 08:12:45 ]
>>これで判れ
Dは初心者向けじゃなくて今までの言語との比較が基本だから仕方ない気もしてたり

173 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:46:47 ]
poseidonがなんか少し新しくなってる

174 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 01:35:34 ]
>>171
ttp://rayerd.ddo.jp/pukiwiki/ingwiki/index.php?C%2FC%2B%2B%A4%CB%C8%E8%A4%EC%A4%BF%BF%CD%A4%CED%B8%C0%B8%EC#ba92f204
比較したいならこっちをどうぞ

175 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 01:38:46 ]
[poseidon diff]
www.dsource.org/projects/poseidon/wiki/WikiStart?action=diff&version=31

[descent diff]
www.dsource.org/projects/descent/wiki/WikiStart?action=diff&version=65

176 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 04:51:01 ]
>>149
ありがとうございました。
おかげさまで>106もどきができたのですが、
長いのでここに貼るのはどうかなという感じのものです。
codepadはたぶんコンパイラのバージョンの違いで通りませんでした。

177 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:37:53 ]
dflのListViewってハンドル取れないようになってないかい?

178 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 09:39:00 ]
ハンドルって何のこと

179 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 12:09:55 ]
キャンドル♪ハンドル♪ペダルにサドルに自♪転♪車♪漕いどる♪



180 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 17:44:31 ]
Windows的にいえば、Windowハンドルじゃないかい?

しかし、懐かしいもんひっぱってきたねぇ。>>自転車
意味的にはハンドルはどっちも同じだったと思うけど。

181 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 18:50:38 ]
デバイスコンテキストハンドル

182 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 19:10:34 ]
久しぶりにdflのサイト覗いてみたけど、3月中旬にD2対応してたんだね。
そろそろD2に移行しようかな
ttp://wiki.dprogramming.com/Dfl/Snapshots

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







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

前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