- - PR -
VB.NETでの字句解析
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-12-06 10:33
_________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2007-12-06 10:36
読み違いをしていたため、ツッコミどころを間違いました。 申し訳ないです。ですので、上記の私のツッコミは無視してください。 >> ハッシュマップというもの(よくわかっていません..)を利用すると > >HashMapは連想配列の実装の一つです。 私がツッコミたいところは、 この話の前提として、「そもそも.NETにはHashMapクラスはないよ、 JavaにはHashMapクラスがあり、これは連想配列を実現できる実装の一つですよ」という 明示されていない部分があり、それがスレ主を混乱させてません? って指摘でした。 <追記> 囚人さん、フォローありがとうございます。 私が「混乱の元では?」と指摘した元々の意図はそのとおりです。 (ただ、そもそものれいさんの投稿内容を読み違いをしていたので、 ツッコミを訂正しました) </追記> [ メッセージ編集済み 編集者: よねKEN 編集日時 2007-12-06 10:41 ] | ||||||||
|
投稿日時: 2007-12-06 11:25
むむ。そうですね。 アルゴリズムなどさす用語なのか、 .NetやJavaのクラス名なのか、 私は明記していませんね。 > ハッシュマップというもの(よくわかっていません..) という発言から、当然アルゴリズムなどをさす用語としてましたが。 私は全ての単語を一般名(というのが何を指すのか私は知らないのですが)として、 つまりアルゴリズムや手法、データ構造の名称として使っています。 であるなら >HashMapは連想配列の実装の一つです。 ここは誤解を招きますね。 「HashMapは連想配列を実装する手法の一つです。」 と書かないとといけませんでした。 このHashMapはjava.util.HashMapを指すわけではないので。 ところで。 >#そのときにHashMapとかHashTableとか英字で書かれると混乱の元ではないかと思います。 クラス名を指すときにはなるべく名前空間から書くようにしてますが、 ある単語があったときにそれがクラス名なのかアルゴリズム名なのかは 最終的には文脈で判断すべきかと思います。 英字とか英字でないとかではなく。 クラス名だって日本語で書きますし。 検索したりされたりする都合上、 英語で書いたほうがよいと思いますので、私は英語で書きます。 #だったら「クラス」や「アルゴリズム」も英語で書けよ、 #とかいう突っ込みは返答が長くなるので勘弁してください。 ただ書き方は問題で、 「HashTable」だとCamelっぽいのでクラス名っぽいので 「Hash Table」や「hash table」のほうがいいか、 考えるとキリがないので適当にします。 わかりづらかったらまた「わかりづらい」と突っ込んでください。 よろしくお願いします。 | ||||||||
|
投稿日時: 2007-12-06 14:52
こんにちは。
通常はsplitで問題ありませんが、 ','や'='をキーや値に含めることはできません。 厳密にやるなら http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=42329&forum=12&start=16 の私のレスが参考なるかと思います。 正規表現は.NETでもそのまま動くと思いますが、 同じキーが複数回繰り返された時やマッチしない文字列が渡された時どうするかなどは 別途実装して下さい。 | ||||||||
|
投稿日時: 2007-12-06 23:32
れいさん,囚人さん,GENZOさん,よねKENさん,heiさん,
書き込みありがとうございます. みなさんの書き込みのおかげで,HashMapについてのイメージがわきました. VB.NETの場合では,Dictionaryクラスを用いようかなと考えています. ほんとうにありがとうございます. GENZOさん,heiさん: 字句解析のレス紹介ありがとうございます. ぜひ,参考にさせていただきます. |