listdiffはcarがLで、cdrがeqのペアですか? L、または(cdr L)、または(cdr(cdr L)))などにすることができます。listdiffのcdrはリストである必要はありません。任意のオブジェクトであってもよい。オブジェクトがSchemeの "listdiff"であるかどうかの確認
listdiff Dは、(car D)に先行する(car D)の接頭辞を表します。たとえば、ilsが不適切なリスト(a e i u。y)であるとします。リスト(ae)と同じ要素を持つlistdiffを返し、(cons(cdr ils) 'y)はlistdiffを返します。 (eiou)と同じ要素。逆に、(cons '()ils)や(cons ils(append'(a e i o u)y))もリストディフを返しません。
私はラケット上で、次の手順を作成したい:
(?listdiff OBJ)
戻り値は、objが、そうでなければ#f listdiffであれば#tを返し。
誰でも私にその兆候を教えてもらえますか?
、これは[宿題]のように見える(http://web.cs.ucla.edu/classes/fall08/cs131/hw/hw5.html)(それは、2008年からですおそらく教授が課題を再利用している、あるいはあなたがいくつかの練習をしている)。どちらの場合でも、ソースの属性を付ける必要があります。 –
"listdiff"という概念全体が少し過剰に設計されているようです。 「リストディフは、車がリストLであり、そのcdrがLの尾であるという意見である」と言う方が簡単でしょう。 –