需要帮助了解BSL(DrRacket)中的功能
语言BSL-DrRacket(球拍变体) 问题:我需要理解下面的函数到底做了什么。特别是子字符串位,我不明白在选择是否将“?”附加到已使用的字符串时,它是如何确定字符串末尾是否有“?”的需要帮助了解BSL(DrRacket)中的功能,racket,racket-student-languages,Racket,Racket Student Languages,语言BSL-DrRacket(球拍变体) 问题:我需要理解下面的函数到底做了什么。特别是子字符串位,我不明白在选择是否将“?”附加到已使用的字符串时,它是如何确定字符串末尾是否有“?”的 (define (ensure-question str) (if (string=? (substring str (- (string-length str) 1)) "?") str (string-append str "?"))) (子字符串s位置)函数从特定位置返回字符
(define (ensure-question str)
(if (string=? (substring str (- (string-length str) 1)) "?")
str
(string-append str "?")))
(子字符串s位置)
函数从特定位置返回字符串s
的子字符串。例如:
(子字符串“Apple”1)
返回“pple”
,因为我们从第一个字符中取下标
(substring "Apple" ( - (string-length "Apple") 1))
将返回“e”
我们只取最后一个字符
((字符串长度str)1))
,并使用函数字符串=?
检查它是否等于“?”
。我现在明白了。谢谢