rubycoï¼ãã³ãï¼ã®æ¥è¨ - åèªã®é »åº¦ã調ã¹ã ã Squeak ã® Smalltalk ã§ããSmalltalk ã«ã¯ãæ¯åº¦ã馴æã¿ã® Bag ãããã®ã§ãããã使ãã¨ä¾¿å©ã§ããã¨ããããBag ãä»ã«å½¹ç«ã¤å ´é¢ãæãã¤ããã¨ã§ãã
| string | string := 'We wish you a Merry Christmas, We wish you a Merry Christmas, We wish you a Merry Christmas, and A Happy New Year!'. ^ string subStrings asBag sortedCounts asArray
=> {3->'We'.
3->'you'.
3->'a'.
3->'Christmas,'.
3->'wish'.
3->'Merry'.
1->'and'.
1->'A'.
1->'Happy'.
1->'Year!'.
1->'New'}
Bag ã使ããã«ãrubyco ããã® Ruby çã®æè¨³ã£ã½ãçããããã·ã¥ã¯ Smalltalk ã§ã¯ãè¾æ¸ï¼a Dictionaryï¼ãã«ãªãã¾ããããã©ã«ãå¤ã¯æå®ã§ããªãã®ã§ã#at:ifAbsent: ã使ç¨ã
| string dict | string := 'We wish you a Merry Christmas, We wish you a Merry Christmas, We wish you a Merry Christmas, and A Happy New Year!'. dict := Dictionary new. string subStrings do: [:word | dict at: word put: (dict at: word ifAbsent: [0]) + 1]. ^ dict
=> a Dictionary( 'A'->1 'Christmas,'->3 'Happy'->1 'Merry'->3 'New'->1 'We'->3 'Year!'->1 'a'->3 'and'->1 'wish'->3 'you'->3)