トップ «前の日記(2010-11-22) 最新 次の日記(2010-11-24)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2010-11-23

_ rubyでzip

zipファイルが40個以上あって、それを展開しなきゃならなくなった。

というわけで、スクリプト使うしかないなぁとみてみると、コマンド版を探すにしても、ライブラリ探すにしてもなんかいろいろ面倒そうだった。

それでrjb使えばいいかなとスクリプトを作る。

unzip.rb

が、Rjbではあまりin/outタイプの引数については考えていなかった。

ということは、

InputStream#read(buff, offset, len);

でbuffに設定された値が呼び出し元に戻らない。

そこで、考えてみるに、JavaではStringはイミュータブルなのでこのようなin/outな使い方をするのは、ほとんどがオブジェクト(StringBufferとか)に限定されるはずだ。

そういうのは既に使えるわけだから、byte[] を特別扱いすれば良いだろうと気付く。

で、そういう機能を実装したのでrjb-1.3.4となった。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|

ジェズイットを見習え