Programlama | Programlama Dilleri | C Programlama Dili |C++

Hata
  • XML Parsing Error at 1:82. Error 9: Invalid character


Unix Sistem Ça?r?lar? (Unix System Calls)

Haskell programlama dilinde yaz?lm?? bu fonksiyonda unix sistem ça?r?lar?n? (Unix System Calls) yapabilen bir uygulama yap?lm??t?r. Unix'te varolan ls fonksiyonunu,cp fonksiyonunu, cat fonksiyonunu, mv fonksiyonunu, rm fonksiyonunu, wc fonksiyonunu, cd fonksiyonunu gerçekleyen tam bir program yaz?lm??t?r.

 Ör Komutlar:

ls

$ > ls C:

$ > cp dene.hs C:\\celal.txt

$ > cat dene.hs

$>mv C:\\celal.txt D:\\celal.txt

$>rm  D:\\dene

$>wc D:\\dene.hs

$>cd C:

Program Kodu :

  1.  
  2. import System.IO
  3. import System.Directory
  4.  
  5. unixcall =
  6.            getContents >>= \ satirlar ->
  7.            calistir (lines satirlar)
  8.           
  9. calistir (b:bs) =
  10.                   fonk ([a |a <-words b]) >>
  11.                   putStr "$>" >>
  12.                   calistir bs
  13.  
  14. fonk (l:[])
  15.             | l=="ls"   = getCurrentDirectory >>= \dir ->
  16.                dirlist dir
  17.  
  18. fonk (l:ls)
  19.              | l=="ls"    = dirlist (head ls)
  20.              | l=="cp"    = kopyala (head ls) (head (tail ls))
  21.              | l=="cat"   = icerikgoster (head ls)
  22.              | l=="mv"    = dosyagit(head ls) (head (tail ls))
  23.              | l=="rm"    = klasorsil(head ls)
  24.              | l=="wc"    = karaktersay (head ls)
  25.              | l=="cd"    = dizinsec (head ls)
  26.  
  27.  
  28.              
  29. dirlist a =
  30.            getCurrentDirectory >>= \dir  ->
  31.            getDirectoryContents a >>= \filelist ->
  32.            setCurrentDirectory a >>
  33.            dosyalariekranayazdir filelist >>
  34.            setCurrentDirectory dir >>
  35.            return ()
  36.                     
  37. dosyalariekranayazdir (l:[]) = putStrLn l
  38. dosyalariekranayazdir (l:ls) =
  39.                                putStrLn l >>
  40.                                dosyalariekranayazdir ls
  41.  
  42.  
  43. kopyala a b =
  44.              openFile a ReadMode >>= \acilacak ->
  45.              openFile b WriteMode >>= \yazilacak ->
  46.              hGetContents acilacak >>= \icerik ->
  47.              hPutStr yazilacak icerik >>
  48.              hClose acilacak >>
  49.              hClose yazilacak
  50.  
  51. icerikgoster a=
  52.                openFile a ReadMode >>= \acilacak ->
  53.                hGetContents acilacak >>= \icerik ->
  54.                putStr icerik
  55.  
  56. dosyagit a b=
  57.               openFile a ReadMode >>= \acilacak ->
  58.               openFile b WriteMode >>= \yazilacak ->
  59.               hGetContents acilacak >>= \icerik ->
  60.               hPutStr yazilacak icerik >>
  61.               removeFile a
  62.              
  63. klasorsil a= removeDirectory a
  64.  
  65. karaktersay a=
  66.                openFile a ReadMode >>= \acilacak ->
  67.                hGetContents acilacak >>= \icerik ->
  68.                putStrLn ("Karakter Sayisi: "++(show(length icerik))) >>
  69.                putStrLn ("Kelime Sayisi: "++(show(length(words icerik)))) >>
  70.                putStrLn ("Satir Sayisi: "++(show(length(lines icerik))))
  71.            
  72.               
  73.  
  74. dizinsec a=  setCurrentDirectory a
  75.  
 

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
 
404 Not Found

404

Not Found

The resource requested could not be found on this server!


Proudly powered by LiteSpeed Web Server

Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.