- - PR -
お手本になるようなソースコード
投稿者 | 投稿内容 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-05-23 10:47
ファイルの妥当性をチェックするメソッドがコンソールへの出力もおこなうというのは良くないコードだと思います。再利用しにくい。
フラグ変数に flg って付けますか・・・。なんのフラグですか? | ||||||||||||||||||||||||
|
投稿日時: 2007-05-23 12:11
を、やっと突っ込み来たw 有難う御座いますm(_ _)m お手本としては全然駄目ですねw 他にも突っ込み所満載だと思ってたんだけど。 もう皆飽きた(暇が無い)のかなぁ。。。 | ||||||||||||||||||||||||
|
投稿日時: 2007-05-23 16:20
RETURN ? #しょうもない突っ込みで申し訳ない _________________ # Future Is On Fire ! | ||||||||||||||||||||||||
|
投稿日時: 2007-05-23 18:28
間違ったままではちょっと恥ずかしいので、
しつこいですが訂正版です。 なんとなく逆変換もできるようにしてみました。
| ||||||||||||||||||||||||
|
投稿日時: 2007-05-24 01:05
ご指摘ありがとうございます。誤用しておりました。 検索してみましたところ、同様の誤用をしている日本人は多いようです。 正に下記リンクの誤用の方の意味で使っておりました。 http://piza.2ch.net/log2/book/kako/943/943165088.html 気をつけたいと思います。
こんな便利なクラスがあったのですね。知りませんでした(汗)。
私がこのスレを立てたそもそもの目的は、以下のようなものでした。 ・初心者教育向けの簡単なお題にある程度経験を積んだ人間が自分なりの理想解を書いてみることで、 息抜き/頭の体操となる。また、自分が初心者だった頃には気づかなかった再発見があったりする。 ・他の熟練者の方が書いたよりスマートな理想解を見ることで、自分もまだまだだなと再認識しつつ、 勉強になる。 これに加えて、最初のお題の流れから、以下のような楽しみも増えました。 ・誰かがお題をバージョンアップさせることで、予想外にお題が高度化し、 結果的に出題者が予想だにしなかった高度なコードが生まれる。 CSVの変換は、初心者教育向けのあまり難しすぎないお題として、 とはいえ最初のお題に参加してくださった方々は非常にレベルの高い方が多かったため、 あまり簡単すぎもしないように、丁度良いものをと、私なりに考えたつもりだったのですが、 私の頭脳ではどうしても完全に新規性のあるものは思いつかず、 車輪の再発明的ものになってしまうのは避けられませんでした。
これは個々の解釈に任せて複数の解がでてくるのがおもしろいと思っておりました。 こういう点を重視するとこういう方法が理想、逆にこういう点を重視するとこういう方法が理想、 バランスの丁度いいところをとると最終的な理想としてはこういう方法になるのではないか、 という流れになるとおもしろいかな、と思ったのです。
では、恐縮ながら私からも(笑)。 実際にコンパイルして動かしてみましたところ、以下の2点が抜けているようです。 ・データがカンマしか含んでいなかった場合、両端のクォート文字を外す。 ・データがタブ文字を含んでいた場合、両端にクォート文字を付加する。 sawatさんのコードも同様の抜けがありましたが、既に自ら気づかれて修正済みですね。 実は私も正規表現をうまく使えないかと、漠然と考えてはいたのですが、先を越されてしまいました。 ところで、JavaScriptはあまり詳しくないのですが、随分おもしろいコードが書けるんですね。 可読性の面ではやや難がありそうですが(苦笑)。 もし端折った部分のファイルの入出力を実装するとしたら、 FileSystemObjectというのを使うことになるのでしょうか? | ||||||||||||||||||||||||
|
投稿日時: 2007-05-24 09:44
はい。見落としていました。 最初は「クォートされていないカンマをタブに置換するだけ?」と思ってしまいました
JavaScriptはクロージャや高階関数が使えるのでかなり面白いです。 可読性に関しては、はじめてみた人には難しい(or 意味不明)でしょうが、それ以外は使い方次第だと思います。 オペレータオーバーロードなどと一緒で、上手に使えば読みやすくなるけど、下手が乱用すれば地獄絵図と化すわけで
そうですね。あるいは javax.script.* を使ってJavaから呼び出すとか、用途によってはAjax+CGIとかも考えられます。 | ||||||||||||||||||||||||
|
投稿日時: 2007-05-24 10:06
いぇいぇ、全然気づいていませんでした コメントも何気に間違ってるし・・・orz
あら。 仕様の以下の部分だと思いますが、
入力(CSV)データ及び出力(TSV)データはそれぞれExcelで出力した物と同様と 考えていました。。。 なので、囲む方は既に囲まれているので未処理。 囲みを外す方は・・・認識がズレていました、すみません。 ←ここがExcelと違うところですね | ||||||||||||||||||||||||
|
投稿日時: 2007-05-24 11:11
囲みを外すのは、Excelでもそうなっていませんか? "あ","ab,cd" というデータを書いたcsvファイルをExcelで開いて保存しなおすと あ,"ab,cd" となります。 |