Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,93 @@
|
|||
use framework "Foundation" -- YOSEMITE OS X onwards
|
||||
use scripting additions
|
||||
|
||||
on run
|
||||
setCurrentDirectory("~/Desktop")
|
||||
|
||||
ap({doesFileExist, doesDirectoryExist}, ¬
|
||||
{"input.txt", "/input.txt", "docs", "/docs"})
|
||||
|
||||
--> {true, true, true, true, false, false, true, true}
|
||||
|
||||
-- The first four booleans are returned by `doesFileExist`.
|
||||
|
||||
-- The last four are returned by `doesDirectoryExist`,
|
||||
-- which yields false for simple files, and true for directories.
|
||||
end run
|
||||
|
||||
-- GENERIC SYSTEM DIRECTORY FUNCTIONS -----------------------------------------
|
||||
|
||||
-- doesDirectoryExist :: String -> Bool
|
||||
on doesDirectoryExist(strPath)
|
||||
set ca to current application
|
||||
set oPath to (ca's NSString's stringWithString:strPath)'s ¬
|
||||
stringByStandardizingPath
|
||||
set {bln, int} to (ca's NSFileManager's defaultManager()'s ¬
|
||||
fileExistsAtPath:oPath isDirectory:(reference))
|
||||
bln and (int = 1)
|
||||
end doesDirectoryExist
|
||||
|
||||
-- doesFileExist :: String -> Bool
|
||||
on doesFileExist(strPath)
|
||||
set ca to current application
|
||||
set oPath to (ca's NSString's stringWithString:strPath)'s ¬
|
||||
stringByStandardizingPath
|
||||
ca's NSFileManager's defaultManager()'s fileExistsAtPath:oPath
|
||||
end doesFileExist
|
||||
|
||||
-- getCurrentDirectory :: String
|
||||
on getCurrentDirectory()
|
||||
set ca to current application
|
||||
ca's NSFileManager's defaultManager()'s currentDirectoryPath as string
|
||||
end getCurrentDirectory
|
||||
|
||||
-- getFinderDirectory :: String
|
||||
on getFinderDirectory()
|
||||
tell application "Finder" to POSIX path of (insertion location as alias)
|
||||
end getFinderDirectory
|
||||
|
||||
-- getHomeDirectory :: String
|
||||
on getHomeDirectory()
|
||||
(current application's NSHomeDirectory() as string)
|
||||
end getHomeDirectory
|
||||
|
||||
-- setCurrentDirectory :: String -> IO ()
|
||||
on setCurrentDirectory(strPath)
|
||||
if doesDirectoryExist(strPath) then
|
||||
set ca to current application
|
||||
set oPath to (ca's NSString's stringWithString:strPath)'s ¬
|
||||
stringByStandardizingPath
|
||||
ca's NSFileManager's defaultManager()'s ¬
|
||||
changeCurrentDirectoryPath:oPath
|
||||
end if
|
||||
end setCurrentDirectory
|
||||
|
||||
|
||||
-- GENERIC HIGHER ORDER FUNCTIONS FOR THE TEST --------------------------------
|
||||
|
||||
-- A list of functions applied to a list of arguments
|
||||
-- (<*> | ap) :: [(a -> b)] -> [a] -> [b]
|
||||
on ap(fs, xs)
|
||||
set {intFs, intXs} to {length of fs, length of xs}
|
||||
set lst to {}
|
||||
repeat with i from 1 to intFs
|
||||
tell mReturn(item i of fs)
|
||||
repeat with j from 1 to intXs
|
||||
set end of lst to |λ|(contents of (item j of xs))
|
||||
end repeat
|
||||
end tell
|
||||
end repeat
|
||||
return lst
|
||||
end ap
|
||||
|
||||
-- Lift 2nd class handler function into 1st class script wrapper
|
||||
-- mReturn :: Handler -> Script
|
||||
on mReturn(f)
|
||||
if class of f is script then
|
||||
f
|
||||
else
|
||||
script
|
||||
property |λ| : f
|
||||
end script
|
||||
end if
|
||||
end mReturn
|
||||
|
|
@ -0,0 +1 @@
|
|||
{true, true, true, true, false, false, true, true}
|
||||
Loading…
Add table
Add a link
Reference in a new issue