我使用Racket的奇怪語言在開始和結尾處用兩個字符串覆蓋一個字符串。使用兩個字符串開始和結束覆蓋一個字符串的函數
(define overwrite (s beg end)...
例如,(overwrite "catapult" "dog" "blah")
應該輸出"dogablah"
(overwrite "greenbeans" "munk" "grub")
應該輸出"munknbgrub"
。
有時覆蓋可以完全超過中心詞: (overwrite "dog" "mouse" "flea")
應輸出"mouseflea"
。
主要問題是我只允許使用三個內置函數來嘗試解決這個問題。 (字符串長度),(子)和(字符串追加)
我已經嘗試了以下無濟於事:
(define (overwrite s beg end)
(string-append (substring s 0 (string-length beg)) ""
(substring s (- (string-length s) (string-length end))
(string-length s))))
我允許使用輔助功能等基本數學函數,但這是我以前從未做過的事情。太糟糕的方案/球拍沒有一些易於使用的替換功能。 在此先感謝!這是非常具體的,因爲我可以得到這個非常。
我會接受這是一個很好的答案但我們剛剛瞭解條件語句分配給出了,我們被告知,我們間沒有」後允許用於這個特定的問題。 –