September 2017 Update

This commit is contained in:
Ingy döt Net 2017-09-23 10:01:46 +02:00
parent bba7bfd280
commit ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions

View file

@ -1,37 +1,37 @@
#define system.
#define system'routines.
#define system'collections.
#define extensions.
import system'routines.
import system'collections.
import extensions.
#class(extension) op
extension op
{
#method mode
mode
[
#var aCountMap := Dictionary new &default:0.
self run &each: anItem
var aCountMap := Dictionary new default:0.
self forEach(:anItem)
[
aCountMap@anItem := aCountMap@anItem + 1.
aCountMap[anItem] := aCountMap[anItem] + 1
].
aCountMap := aCountMap array_list sort:(:p:n) [ p > n ].
aCountMap := aCountMap array_list; sort(:p:n)(p > n).
#var aMax := aCountMap firstMember.
var aMax := aCountMap firstMember.
^ aCountMap
filter &each:kv [ aMax safeEqual:kv ]
select &each:kv [ kv key ]
filterBy(:kv)(aMax equal:kv);
selectBy(:kv)(kv key);
toArray.
]
}
#symbol program =
program =
[
#var anArray1 := (1, 1, 2, 4, 4).
#var anArray2 := (1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17).
#var anArray3 := (1, "blue", 2, 7.5r, 5, "green", "red", 5, 2, "blue", "white").
var anArray1 := (1, 1, 2, 4, 4).
var anArray2 := (1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17).
var anArray3 := (1, "blue", 2, 7.5r, 5, "green", "red", 5, 2, "blue", "white").
console
writeLine:"mode of (":anArray1:") is (":(anArray1 mode):")"
writeLine:"mode of (":anArray2:") is (":(anArray2 mode):")"
writeLine:"mode of (":anArray3:") is (":(anArray3 mode):")".
printLine("mode of (",anArray1,") is (",anArray1 mode,")");
printLine("mode of (",anArray2,") is (",anArray2 mode,")");
printLine("mode of (",anArray3,") is (",anArray3 mode,")");
readChar.
].