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 @@
#import system.
#import system'routines.
#import system'collections.
#import extensions.
#import extensions'routines.
import system'routines.
import system'collections.
import extensions.
import extensions'routines.
#class(extension)op
extension op
{
#method canMakeWord &from:blocks
canMakeWordFrom:blocks
[
#var list := ArrayList new:blocks.
var list := ArrayList new:blocks.
^ $nil == self literal upperCase seek &each:ch
^ $nil == self literal; upperCase; seekEach(:ch)
[
#var index := list indexOf:(word [ word indexOf:ch &at:0 != -1 ] asComparer).
var index := list indexOfElement
((:word)(word indexOf:ch at:0 != -1) asComparator).
(index>=0)
? [ list remove &at:index. ^ false. ]
! [ ^ true. ].
].
if (index>=0)
[ list remove at:index. ^ false ];
[ ^ true ]
]
]
}
#symbol program =
program =
[
#var blocks := ("BO", "XK", "DQ", "CP", "NA",
var blocks := ("BO", "XK", "DQ", "CP", "NA",
"GT", "RE", "TG", "QD", "FS",
"JW", "HU", "VI", "AN", "OB",
"ER", "FS", "LY", "PC", "ZM").
#var words := ("", "A", "BARK", "BOOK", "TREAT", "COMMON", "SQUAD", "Confuse").
var words := ("", "A", "BARK", "BOOK", "TREAT", "COMMON", "SQUAD", "Confuse").
words run &each:word
words forEach(:word)
[
console writeLine:"can make '":word:"' : ":(word canMakeWord &from:blocks).
console printLine("can make '",word,"' : ",word canMakeWordFrom:blocks).
].
].