Vector 检查scheme:\?中的符号是否为点字符。?

Vector 检查scheme:\?中的符号是否为点字符。?,vector,char,scheme,Vector,Char,Scheme,假设myVector是一个向量,i是一个索引,当我这样做时: (= (vector-ref myVector i) #\.) 我得到: =: contract violation expected: number? given: #\. argument position: 1st other arguments...: #\. 如何检查位置I处的字符是否为a 编辑:这错误地假设向量是数字而不是字符。用奥斯卡的答案 您需要将数字转换为字符或反之亦然 例如: 或 编辑:

假设myVector是一个向量,i是一个索引,当我这样做时:

(= (vector-ref myVector i) #\.) 
我得到:

=: contract violation
  expected: number?
  given: #\.
  argument position: 1st
  other arguments...:
   #\.
如何检查位置I处的字符是否为a

编辑:这错误地假设向量是数字而不是字符。用奥斯卡的答案

您需要将数字转换为字符或反之亦然

例如:

编辑:这错误地假设向量是数字而不是字符。用奥斯卡的答案

您需要将数字转换为字符或反之亦然

例如:


您不应将字符转换为数字,只需使用文档中的过程即可:

如果所有参数都是eqv,则返回t

特别是你的例子:

(define myVector #(#\1 #\. #\2))
(define i 1)

(char=? (vector-ref myVector i) #\.)
=> #t

在过去的几天里,您提出的几个问题都与字符或字符串操作有关,我建议您仔细查看文档页面。您不应该将字符转换为数字,只需使用文档中的以下步骤:

如果所有参数都是eqv,则返回t

特别是你的例子:

(define myVector #(#\1 #\. #\2))
(define i 1)

(char=? (vector-ref myVector i) #\.)
=> #t

您最近几天提出的几个问题都与字符或字符串操作有关,我建议您仔细查看有关的文档页。

我想我应该更仔细地查看错误消息:+1因为我应该更仔细地查看错误消息:+1
(define myVector #(#\1 #\. #\2))
(define i 1)

(char=? (vector-ref myVector i) #\.)
=> #t