1
私は、単語をブタラティンの対応語に変換するブタラティントランスレータを作成しました。文字列を一連の文字列に変換する
以下の手順に従って、
(translate '("ark" "gold"))
は私を考え出し、私は単純に入力したいしかし
"arkway golday"
を与える( "箱舟金" 翻訳)と "arkwayのgolday"
を取得文字列分割と文字列結合を使用しますが、私は間違いを追加しているようです:
(define (piglatin phrase)
(string-split translate phrase))
と(piglatin「( "箱舟金を"))を実行している
は私にエラーを与える:
string-split: contract violation
expected: (or/c string? regexp?)
given: '("ark gold")
コード:
#lang racket
(define (piglatin phrase)
(string-split translate phrase))
(define (translate sentence)
(string-join (map breakSentence sentence)))
; break down sentance string split into a list
(define (breakSentence word)
(list->string (listWord (string->list word))))
; break down word for vowel testing
(define (listWord word)
(cond
((foundVowel (car word))
(startsVowel word))
(else(noVowel word '()))))
; letters that are vowels, their prensence indicates way should be added to end
(define (foundVowel letter)
(member letter '(#\a #\e #\i #\o #\u #\y)))
; allow adding way to end of word
(define (startsVowel word)
(append word '(#\w #\a #\y)))
'string-split'は、' translate'関数を与えている間、最初のパラメータとして文字列をとります。かっこをチェックしてください。 – Renzo
あなたの翻訳は間違っています。それは "arkway" "oldgay" – stark