Hi guys,
I am just beginner in Smaltalk and I have some problem with collection in smalltalk. For this problem I have to define the value of an alphabetic character based on its location in the alphabet. So ‘a’ and ‘A’ each have value 1, ‘b’ and ‘B’ each have 2, etc. Non-alphabetic characters can be considered to have value 0. The value of a word is the sum of the value of all its characters. So ‘Smalltalk’ has value 101 and ‘abc’ has value 6. A dollar word is a word whose value is 100. I want to add a method to the String class that returns all the dollar words in the string.
So for example if the input is 'SmallTalk' the result is ('SmallTlk' 'SmllTlk').
Please kindly help me guys. Really appreciate your help.
Thanks.
Hi,
As a start you can do:
alphabet := $a to: $z. coll indexOf: $c returns 4
to have both upper and lower case: alphabet indexOf: yourCaracter asLowercase
then you iterate on your string collection and add each result...
not sure about the $ word, but it could be once you detect the sum to be 100...
hth :)
Cédrick
but maybe you could reverse the collection so as to have ($a -> 1 ... $z -> 26)
2008/9/24 Alex Chi alex_chi99@yahoo.com:
Hi guys,
I am just beginner in Smaltalk and I have some problem with collection in smalltalk. For this problem I have to define the value of an alphabetic character based on its location in the alphabet. So 'a' and 'A' each have value 1, 'b' and 'B' each have 2, etc. Non-alphabetic characters can be considered to have value 0. The value of a word is the sum of the value of all its characters. So 'Smalltalk' has value 101 and 'abc' has value 6. A dollar word is a word whose value is 100. I want to add a method to the String class that returns all the dollar words in the string.
So for example if the input is 'SmallTalk' the result is ('SmallTlk' 'SmllTlk').
Please kindly help me guys. Really appreciate your help.
Thanks.
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
"Alex" == Alex Chi alex_chi99@yahoo.com writes:
Alex> So for example if the input is 'SmallTalk' the result is ('SmallTlk' Alex> 'SmllTlk').
Presuming the input came from someone who didn't know that Smalltalk doesn't have a capital T. :)
beginners@lists.squeakfoundation.org