D言語 Part28

このエントリーをはてなブックマークに追加
138デフォルトの名無しさん
うひゃあ、getExt()をextension()に変えたりfnmatch()をglobMatch()に変えたりしてたら
途端に何もかも動かなくなった
びっくりするほどユートピア!
139デフォルトの名無しさん:2011/09/10(土) 18:08:47.95
俺のソース上のstd.algorithm.removeがコンパイル通らなくなったから
どこが悪いのかとunittestと比較しようとしたら
unittestからコピペしてきたのもコンパイル通らなくてワロタ
140デフォルトの名無しさん:2011/09/10(土) 18:12:19.45
まさにD!
141デフォルトの名無しさん:2011/09/10(土) 19:55:30.77
std.path の変更はただのリネームじゃなかった気がするが

・・・と思ったらレファレンスが更新されてNEEEE!
142デフォルトの名無しさん:2011/09/10(土) 20:27:51.43
unittestが仕様です は罠
143デフォルトの名無しさん:2011/09/10(土) 21:10:10.61
144デフォルトの名無しさん:2011/09/10(土) 21:42:16.19
void main(){}

2.053 => 146,972 バイト
2.054 => 149,532 バイト
2.055 => 150,556 バイト

順調にむくんでいってる
145デフォルトの名無しさん:2011/09/10(土) 21:58:32.44
そのうち150,550 byteくらいはGCなんだろうな
146デフォルトの名無しさん:2011/09/10(土) 21:58:49.27
>>139は間違いだった反省している
むしろ今までコンパイル通ってたのがおかしかった
147デフォルトの名無しさん:2011/09/10(土) 22:45:55.54
globMatch()はなにかおかしい…。たまにglobMatch内でAssersionFailure起こす。
148デフォルトの名無しさん:2011/09/10(土) 22:56:47.36
なんか053から055にバージョン上げたら文脈によってnewで落ちるようになった
またGC周りの何かの予感が
自分のバグならいいけど・・いやいくないけど
149デフォルトの名無しさん:2011/09/10(土) 23:02:01.31
>>147
'['が含まれてるパスがおかしいのは確認した

というか'['とか普通にパスに使える文字じゃないの?なんなのこの仕様
150デフォルトの名無しさん:2011/09/11(日) 00:06:28.19
第2引数何指定してる?
151デフォルトの名無しさん:2011/09/11(日) 00:38:38.06
>>149
UNIX系のシェルだと、[ABC]でAかBかCのどれか、みたいなワイルドカードが使えるものがあるんだよ。

……本当に'['を指定したい時のための記法は用意されてるんだろうか。
152デフォルトの名無しさん:2011/09/11(日) 00:46:08.96
fnmatch()には「エスケープはできません(キリッ」と書かれてのけぞったが
replace("[", "[[]")でなんとかなった
glabMatchはそれやるとassertで落ちる
153デフォルトの名無しさん:2011/09/11(日) 05:03:12.23
globMatchの第2引数では[]{}は特別な意味持ってるから開きと閉じの個数が合ってないと落ちるよ、てか落とすよ
154デフォルトの名無しさん:2011/09/11(日) 05:20:47.30
D言語のライブラリ、Tangoの次はMank(ry
155デフォルトの名無しさん:2011/09/11(日) 08:35:13.32
大人しく普通のワイルドカードで比較するか
156デフォルトの名無しさん:2011/09/11(日) 08:45:34.34
そのうち例外出すように変わるだろうね
157デフォルトの名無しさん:2011/09/11(日) 09:40:41.88
男らしく副作用が多すぎて使い物にならない関数の代表を目指してほしい
158デフォルトの名無しさん:2011/09/11(日) 09:55:54.49
strtokさんを超えてくれ
159デフォルトの名無しさん:2011/09/11(日) 17:34:05.26
ドキュメントは d-p-l のサイトだけ更新されたな
やっぱりこっちが本家なのか

日本語との照会がしづらくなるのう
160デフォルトの名無しさん:2011/09/11(日) 18:06:34.25
public auto hoge() @property { return 0; }
これがコンパイル通らないのって仕様?@2.055
public int hoge() @property { return 0; }

public auto hoge() { return 0; }
はもちろん通る
161デフォルトの名無しさん:2011/09/11(日) 18:08:59.49
std.path.getExt() -> extension() の危険な罠を回避した
手をつけるのを遅らせておいてよかった・・・
162デフォルトの名無しさん:2011/09/11(日) 18:10:02.59
@property {
public auto hoge() { return 0; }
}
でとりあえずコンパイルはできるみたい。
163デフォルトの名無しさん:2011/09/11(日) 18:14:38.02
>>161
あれどうしてあんな風になったんだろ?
164デフォルトの名無しさん:2011/09/11(日) 18:25:14.51
元の getExt() にドットが含まれない方が違和感あったから
俺はこっちがいい
165デフォルトの名無しさん:2011/09/11(日) 19:25:24.14
static if (__VERSION__ < 2055) {
std.algorithm.sort!"std.path.fcmp(a.name,b.name)<0"( list );
} else {
std.algorithm.sort!"std.path.filenameCmp(a.name,b.name)<0"( list );
}

こういうのをもっと簡単に書けないものか・・・

alias pred UZEEEEEEE
166デフォルトの名無しさん:2011/09/11(日) 20:08:22.80
何度もやるならalias使うしか
167デフォルトの名無しさん:2011/09/11(日) 20:52:58.99
std.path.rel2abs(".") -> absolutePath(".") も罠だった

カレントディレクトリ取る方法が他にあれば・・・
168デフォルトの名無しさん:2011/09/11(日) 21:24:59.46
std.file.getcwdでええんちゃう?

なんでstd.fileなのさ