2010-07-01 5 views
0

Je ne suis pas en mesure de comprendre l'erreur avec le code ci-dessous qui imprime simplement la longueur de la chaîne:longueur de chaîne dans le schéma

(define codeLen (read)) 
(display codeLen) 
(define code (read)) 
(display code) 
(string-length code) 

Je reçois une erreur: string-length: expects argument of type <string>; given a

Répondre

3

Vous avez probablement entré a. read lit une partie arbitraire de l'expression s, et dans ce cas, il lit le symbole a. Si vous entrez "a" à la place, vous obtiendrez une chaîne.

Mais plus probablement vous voudrez utiliser la fonction read-line.

+0

Est-ce (définir le code (ligne de lecture))? Je lis en ligne qu'il a besoin d'un port d'entrée, mais je ne sais pas ce que c'est pour DrScheme? Pouvez-vous s'il vous plaît m'aider ici? –

+0

Mon objectif est d'utiliser la longueur de chaîne pour vérifier la chaîne nulle. Cependant, je ne suis pas capable d'y parvenir en utilisant des guillemets dans l'entrée. –

+0

Vous pourriez '(define code (read-line))', mais 'code' est un nom bizarre pour une chaîne. Le port d'entrée est un argument facultatif par défaut sur le port d'entrée actuel. –

Questions connexes