Я пытаюсь найти значение строки. . Например,:Smalltalk - Получение значения строки
'abc' == 6 (1+2+3)
Но я получаю сообщение об ошибке в разделе '+ элемент' ниже:
MessageNotUnderstood: Character>>adaptToNumber:andSend:
Может кто-нибудь дать мне руку?
wordValue: inString
|value|
inString asUppercase.
value := (inString do: [ :ch | inString inject: (ch asciiValue- 64) into: [ :sum :element | sum + element ]]) asInteger.
^value.
Я не особенно знаком с smalltalk, но 'str asUppercase inject: 0 в: [: sum: ch | sum + ch asciiValue - 64] 'работал для меня. Не уверен, что вы пытаетесь сделать с 'do:', но похоже, что это необязательно. Возможно, вы неправильно поняли «инъекцию»? – Kevin