アカウント名:
パスワード:
以前 Common Lisp を使う職場に派遣されてた頃、 最初に car/cdr を使って書いてたら軽~く失笑されたので、 それ以降 first/rest しか使いませんでした。
あれは『時代遅れ』みたいなニュアンスの失笑だったかなぁ。
;;; cadddr なんてのよりは fourth の方がはるかに解りやすいですしね。
cons cell に対して car と cdr が何をやってるかを知らず、 単純に『cadddr ≡ fourth だから四つ目の要素を取ってくる』って短絡しちゃうと、 cdr 部がリストでない dot pair が出てくるとはまっちゃうかも。 中で何をやってるかが明示されてる cadddr の方が、 その点では確かに解りやすいですね。
まぁあたしゃ native Lisper ではありませんので、 しろーとったらしろーとなんですけど―― こんな阿呆コード [srad.jp] は書くゎ、 困った時は progn 頼みだゎで。
;;; いちおー数年間は Lisp(だけじゃないけど)でご飯食べてたので、 ;;; プロではないとも言えないのですが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
car/cdr (スコア:1)
Re:car/cdr (スコア:0)
contents-of-the-decrement-part-of-the-register
・・・なんか違う気もする。
#Common Lispにはfirst/restってのがあるな。
Re:car/cdr (スコア:2, 参考になる)
以前 Common Lisp を使う職場に派遣されてた頃、 最初に car/cdr を使って書いてたら軽~く失笑されたので、 それ以降 first/rest しか使いませんでした。
あれは『時代遅れ』みたいなニュアンスの失笑だったかなぁ。
;;; cadddr なんてのよりは fourth の方がはるかに解りやすいですしね。
Re:car/cdr (スコア:0)
けっ。トーシローが。。。
Re:car/cdr (スコア:0)
理由の説明できない素人でない限り。
Re:car/cdr (スコア:1, 興味深い)
cadddr = car o cdr o cdr o cdr (o は関数合成)
だからLisperな人にはcaddrの方が分かりやすいんでしょう。
Re:car/cdr (スコア:2, 参考になる)
cons cell に対して car と cdr が何をやってるかを知らず、 単純に『cadddr ≡ fourth だから四つ目の要素を取ってくる』って短絡しちゃうと、 cdr 部がリストでない dot pair が出てくるとはまっちゃうかも。 中で何をやってるかが明示されてる cadddr の方が、 その点では確かに解りやすいですね。
まぁあたしゃ native Lisper ではありませんので、 しろーとったらしろーとなんですけど―― こんな阿呆コード [srad.jp] は書くゎ、 困った時は progn 頼みだゎで。
;;; いちおー数年間は Lisp(だけじゃないけど)でご飯食べてたので、
;;; プロではないとも言えないのですが。
Re:car/cdr (スコア:0)
なんてたって、本当のプロはもうみんな老眼ですから。