RosettaCodeData/Task/Comma-quibbling/FutureBasic/comma-quibbling-3.basic

17 lines
658 B
Plaintext

local fn Quibble( string as CFStringRef ) as CFStringRef
CfArrayRef arr = fn StringComponentsSeparatedByString( string, @" " )
CFStringRef rst
if ( len(arr) == 0 ) then rst = @"" else rst = fn StringWithFormat( @"%@", fn ArrayLastObject( arr ) )
if ( len(arr) > 1 )
CFArrayRef subArray = fn ArraySubarrayWithRange( arr, fn CFRangeMake( 0, len(arr) - 1 ) )
rst = fn StringWithFormat( @"%@ and %@", fn ArrayComponentsJoinedByString( subArray, @", " ), rst )
end if
end fn = fn StringWithFormat( @"{%@}", rst )
print fn Quibble( @"" )
print fn Quibble( @"ABC")
print fn Quibble( @"ABC DEF" )
print fn Quibble( @"ABC DEF G H" )
HandleEvents