「私の他の車は、CDRがさ」とは何を意味するのでしょうか?
質問
も舌足らずに精通誰も私にこのジョークを説明できますか? 私はいくつかの関数型プログラミング言語で読んで行われ、アドレス/デクリメントレジスタの内容を意味しているCAR / CDRを知っているが、私はまだ本当にユーモアを理解していないました。
解決
Lispでは、リンクされたリスト要素がCONSと呼ばれています。これは歴史的な理由のためにCARとCDRと呼ばれる2つの要素を有するデータ構造です。 CARとCDRのような他の人が、彼らは、このような(CADRのX)≡(CAR(CDR X))。
のように合成済みバージョンとよく合うのでながら(いくつかのCommon Lispプログラマは、FIRSTを使用してそれらを参照し、機能を休ませることを好みます冗談はあなたが時々言っビートアップ古い車に見バンパーステッカーのパロディである「私の他の車はポルシェ/ BMWの/ etcです。」
このジョークにする他のヒント
はい、間違いなくオタクジョークます。
の名前は、IBM 704から来るが、それは冗談ではありません。
ジョークは、上の(悪い)しゃれ「私の他の車は___です。」されますしかし、中に-冗談再帰についてです。
いつループ/選択/操作/あなたが機能を両立させるために車の組み合わせ(リストの最初の要素)とcdr(リストの残りの部分)を使用するLispでより/起動します。
ですから、車を持っているが、CDRは常に(再帰で)複数の要素であるので、あなたは常にCDRから車を取得することができますので、あなたの他の車は、あなたのCDRです。それを得る?まだ笑い?
あなたは、おそらく実際に少し含み笑い、またはしないようにlispの学習する必要があります。
:もちろん、それまでに、あなたはおそらく、自分が原因で明らかな理由もなく、ランダムに笑い見つけることができますLispはあなたが愚かになります。
//スキーム
から来ます
Schemeは非常に少数のデータ構造を持って、そのうちの一つはタプルです:'(first . second)
。この場合、car
は、最初の要素であり、そしてcdr
は秒です。この構築物リスト、木、および他の構造を作成するために拡張することができます。
冗談は非常に面白いではありません。