簡單的問題,對於實際使用計劃的人來說簡單的答案。我怎樣才能知道變量是否是字母表中的一個字母?如何查找變量是Scheme中的一個字母?
我認爲它是這樣的(字母?x),其中x是一些不確定類型。任何人都可以告訴我什麼布爾函數可以使用?
編輯:
我怎麼能做出一些看起來像這樣:(?somFunction-isALetter一) 返回:#T
凡不是一個變量。
簡單的問題,對於實際使用計劃的人來說簡單的答案。我怎樣才能知道變量是否是字母表中的一個字母?如何查找變量是Scheme中的一個字母?
我認爲它是這樣的(字母?x),其中x是一些不確定類型。任何人都可以告訴我什麼布爾函數可以使用?
編輯:
我怎麼能做出一些看起來像這樣:(?somFunction-isALetter一) 返回:#T
凡不是一個變量。
球拍,該char-alphabetic?
功能隻字符作爲參數,但它很容易定義返回所有非字符,而不是失敗的虛假功能:
(define (letter? x) (and (char? x) (char-alphabetic? x)))
使用char-alphabetic?
程序這一點。來自documentation:
char-alphabetic?
返回#t如果字符具有Unicode「字母」屬性。
使用方法如下:
(char-alphabetic? #\a)
> #t
如果字符是一個變量:
(define x #\a)
(char-alphabetic? x)
#t
注意char-alphabetic?
僅適用於字符。
UPDATE:
重讀我相信我誤解了它的問題。如果你有興趣瞭解,如果變量的名字只是一個字母,這將工作:
(define (is-variable-a-letter? x)
(let ((var (string->list (symbol->string x))))
(and (= (length var) 1)
(char-alphabetic? (car var)))))
(is-variable-a-letter? 'x)
> #t
在另一方面,如果你有興趣在實際內容變量,然後應用這個答案的第一部分。
我認爲你的意思是「價值」而不是「變量」在這裏;你關心的是'x'包含的值,而不是它被稱爲'x'的事實。 –
@PaulStansifer夠正確的。儘管我知道'信?'不是正確的術語,因此只是一個例子。 – jQwierdy
我還不確定我是否知道你想要什麼。它可能是兩件事情:1)給定變量綁定到長度爲1的字符串的值,其中該字符串中的單個字符是字母表的字母? 2)表示變量的符號的字符串形式是長度爲1的字符串,其中該字符串中的單個字符是字母表中的一個字母? –