私は奇妙な言語のラケットを使用して先頭と最後に2つの文字列を上書きします。例えば先頭と末尾に2つの文字列で1つの文字列を上書きする関数を作成します。
(define overwrite (s beg end)...
、(overwrite "catapult" "dog" "blah")
べき出力"dogablah"
(overwrite "greenbeans" "munk" "grub")
べき出力"munknbgrub"
。
場合によっては、上書きによって中央の単語が完全に追い越されることがあります。 (overwrite "dog" "mouse" "flea")
は、"mouseflea"
を出力する必要があります。
主な問題は、この問題を解決するために3つの組み込み関数しか使用できないことです。 (文字列の長さ)、(サブ)と(文字列APPEND)
私は無駄に以下試してみた:
(define (overwrite s beg end)
(string-append (substring s 0 (string-length beg)) ""
(substring s (- (string-length s) (string-length end))
(string-length s))))
私はヘルパー関数やその他の基本的な数学関数を使用することを許可していますが、これは私が以前にしたことのないものです。あまりにも悪いスキーム/ラケットには、使い易い交換機能がありません。 ありがとうございます!これは私がこれでかなり得ることができるほど具体的です。
を私は割り当てが配られたと我々は我々が「werenことを言われた後しかし、我々はただ条件文について学んだ良い答えとしてこれを受け入れるだろうこの特定の質問で使用することはできません。 –