40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
#plist NSAppTransportSecurity @{NSAllowsArbitraryLoads:YES}
|
|
|
|
include "NSLog.incl"
|
|
|
|
local fn CountCharacterInString( string as CFStringRef, character as CFStringRef ) as NSUInteger
|
|
end fn = len(string) - len( fn StringByReplacingOccurrencesOfString( string, character, @"" ) )
|
|
|
|
local fn IsLegal( wordStr as CFStringRef ) as BOOL
|
|
NSUInteger i, count = len( wordStr )
|
|
CFStringRef letters = @"ndeokgelw"
|
|
|
|
if count < 3 || fn StringContainsString( wordStr, @"k" ) == NO then exit fn = NO
|
|
for i = 0 to count - 1
|
|
if fn CountCharacterInString( letters, mid( wordStr, i, 1 ) ) < fn CountCharacterInString( wordStr, mid( wordStr, i, 1 ) )
|
|
exit fn = NO
|
|
end if
|
|
next
|
|
end fn = YES
|
|
|
|
local fn ArrayOfDictionaryWords as CFArrayRef
|
|
CFURLRef url = fn URLWithString( @"http://wiki.puzzlers.org/pub/wordlists/unixdict.txt" )
|
|
CFStringRef string = lcase( fn StringWithContentsOfURL( url, NSUTF8StringEncoding, NULL ) )
|
|
CFArrayRef wordArr = fn StringComponentsSeparatedByCharactersInSet( string, fn CharacterSetNewlineSet )
|
|
end fn = wordArr
|
|
|
|
void local fn FindWheelWords
|
|
CFArrayRef wordArr = fn ArrayOfDictionaryWords
|
|
CFStringRef wordStr
|
|
CFMutableStringRef mutStr = fn MutableStringNew
|
|
|
|
for wordStr in wordArr
|
|
if fn IsLegal( wordStr ) then MutableStringAppendFormat( mutStr, fn StringWithFormat( @"%@\n", wordStr ) )
|
|
next
|
|
NSLog( @"%@", mutStr )
|
|
end fn
|
|
|
|
fn FindWheelWords
|
|
|
|
HandleEvents
|