Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
49
Task/Anagrams/FutureBasic/anagrams-1.basic
Normal file
49
Task/Anagrams/FutureBasic/anagrams-1.basic
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
include "NSLog.incl"
|
||||
|
||||
local fn Dictionary as CFArrayRef
|
||||
CFURLRef url = fn URLFileURLWithPath( @"/usr/share/dict/words" )
|
||||
CFStringRef string = fn StringWithContentsOfURL( url, NSUTF8StringEncoding, NULL )
|
||||
end fn = fn StringComponentsSeparatedByString( string, @"\n" )
|
||||
|
||||
local fn IsAnagram( wrd1 as CFStringRef, wrd2 as CFStringRef ) as BOOL
|
||||
NSUInteger i
|
||||
BOOL result = NO
|
||||
|
||||
if ( len(wrd1) != len(wrd2) ) then exit fn
|
||||
if ( fn StringCompare( wrd1, wrd2 ) == NSOrderedSame ) then exit fn
|
||||
CFMutableArrayRef mutArr1 = fn MutableArrayWithCapacity(0) : CFMutableArrayRef mutArr2 = fn MutableArrayWithCapacity(0)
|
||||
for i = 0 to len(wrd1) - 1
|
||||
MutableArrayAddObject( mutArr1, fn StringWithFormat( @"%C", fn StringCharacterAtIndex( wrd1, i ) ) )
|
||||
MutableArrayAddObject( mutArr2, fn StringWithFormat( @"%C", fn StringCharacterAtIndex( wrd2, i ) ) )
|
||||
next
|
||||
SortDescriptorRef sd = fn SortDescriptorWithKeyAndSelector( NULL, YES, @"caseInsensitiveCompare:" )
|
||||
if ( fn ArrayIsEqual( fn ArraySortedArrayUsingDescriptors( mutArr1, @[sd] ), fn ArraySortedArrayUsingDescriptors( mutArr2, @[sd] ) ) ) then result = YES
|
||||
end fn = result
|
||||
|
||||
void local fn FindAnagramsInDictionary( wd as CFStringRef, dict as CFArrayRef )
|
||||
CFStringRef string, temp
|
||||
|
||||
CFMutableArrayRef words = fn MutableArrayWithCapacity(0)
|
||||
for temp in dict
|
||||
if ( fn IsAnagram( lcase( wd ), temp ) ) then MutableArrayAddObject( words, temp )
|
||||
next
|
||||
string = fn ArrayComponentsJoinedByString( words, @", " )
|
||||
NSLogSetTextColor( fn ColorText ) : NSLog( @"Anagrams for %@:", lcase(wd) )
|
||||
NSLogSetTextColor( fn ColorSystemBlue ) : NSLog(@"%@\n",string)
|
||||
end fn
|
||||
|
||||
void local fn DoIt
|
||||
CFArrayRef dictionary = fn Dictionary
|
||||
|
||||
dispatchglobal
|
||||
CFStringRef string
|
||||
CFArrayRef words = @[@"bade",@"abet",@"beast",@"tuba",@"mace",@"scare",@"marine",@"antler",@"spare",@"leading",@"alerted",@"allergy",@"research",@"hustle",@"oriental",@"creationism",@"resistance",@"mountaineer"]
|
||||
for string in words
|
||||
fn FindAnagramsInDictionary( string, dictionary )
|
||||
next
|
||||
dispatchend
|
||||
end fn
|
||||
|
||||
fn DoIt
|
||||
|
||||
HandleEvents
|
||||
Loading…
Add table
Add a link
Reference in a new issue