#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