- 1 名前:デフォルトの名無しさん [2007/04/20(金) 19:41:39 ]
- Lisp全般のスレです
過去スレ Part16: pc11.2ch.net/test/read.cgi/tech/1172404795/ Part15: pc10.2ch.net/test/read.cgi/tech/1151025773/ Part14: pc8.2ch.net/test/read.cgi/tech/1132275726/ Part13: pc8.2ch.net/test/read.cgi/tech/1115901841/ Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/ Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/ Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/ Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/ http://が多すぎるらしいので分割
- 501 名前:デフォルトの名無しさん [2007/05/31(木) 12:55:18 ]
- letでレキシカル変数(LISPでは何?)として定義したhyoを成功のパターンで試すと正しくできますが、
失敗パターンのように要素?を""で囲むと正しく取得できません。 要素を""で囲っても正しく表引きしたいのですがLISPではどうするのでしょうか? ;=== 成功 === (let ( (hyo '((A 80) (B 70) (C 100)))) (print (assoc 'A hyo)) "OK" ) ○結果 (A 80) "OK" ;=== 失敗 === (let ( (hyo '(("A" 80) ("B" 70) ("C" 100)))) (print (assoc "A" hyo)) "OUT" ) ×結果 nil "OUT" まだよくわかっていないのですが、 ""とすると文字列限定される?ということでしょうか?
- 502 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 13:13:22 ]
- (assoc "A" hyo :test 'equal)
- 503 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 13:16:53 ]
- assocは普通はequal比較だから同じ文字列なら見つかると思うのだが、
数あるlisp方言の中にはそうでないのもあるのかな? ちなみにemacs lispで実行してみたらこうなった。 (let ( (hyo '(("A" 80) ("B" 70) ("C" 100)))) (print (assoc "A" hyo)) "OUT" ) ("A" 80) "OUT" 使ってる処理系が何かを示せばより的確な回答を返せる人がいるかもね。
|

|