1

文字を上下逆さまにしてもらいました。私ができないように見えるのは、一連の単語を逆さまにすることですpdhouse逆さまのようにǝsnoɥ。任意の助けをいただければ幸いです。私はちょうど終わったところです。私はリストの略語で初心者を使用しています。

#;(first (first l2))
#;(first (rest l2))
#;(first (rest (first l2)))

(define (helper character list)
  (cond [(string=? character (first (first list))) (first (rest (first list)))]
        [else (helper character (rest list))]))

(check-expect (helper "p" table-1) "d")
(check-expect (helper "t" table-1) "ʇ")

;;_______________________________________________________________________________

(define (upside-down string)


(upside-down "cat")
4

1 に答える 1

1

helperあなたの手順に関するいくつかのコメント:

  • がリストにない場合characterは、追加の条件を追加する必要があります。その場合は、単に同じ を返しcharacterます。そうしないと、エラーが発生します
  • パラメータに名前listを付けないでください。これは組み込みのプロシージャであり、上書きするのは悪い習慣です
  • 続行する前に十分にテストしてください。

それが整理されたらupside-down、空白を埋めて実装する方法は次のとおりです。

(define (upside-down str)
  (<???>                       ; finally, do the opposite of explode on the list
   (map (lambda (c)            ; map over each of the characters
          (<???> <???> <???>)) ; call helper on the character
        (<???> (<???> str))))) ; reverse the exploded string

mapまたはの使用が許可されていない場合は、文字列内の各文字を反復処理してそれぞれに適用し、それを適用した結果のリストを返すプロシージャをlambda実装します。基本的に、常にそれぞれに適用される独自の実装を実装します。入力リストの要素:converthelpermaphelper

(define (convert lst)
  <???>)

(convert '("c" "a" "t"))
=> '("ɔ" "ɐ" "ʇ")

upside-downこれで、次を使用して記述できますconvert

(define (upside-down str)
  (<???>                   ; finally, do the opposite of explode on the list
   (convert                ; use our shiny new procedure
    (<???> (<???> str))))) ; reverse the exploded string
于 2013-02-18T00:48:46.020 に答える