2011-12-30 19 views
5

örneğin bu atın: http://www.haskell.org/haskellwiki/99_questions/Solutions/32Bu haskell programı WinGHCi'de nasıl çalıştırılır?

(**) Determine the greatest common divisor of two positive integer numbers. Use Euclid's algorithm. 

gcd' 0 y = y 
gcd' x y = gcd' (y `mod` x) x 
myGCD x y | x < 0  = myGCD (-x) y 
      | y < 0  = myGCD x (-y) 
      | y < x  = gcd' y x 
      | otherwise = gcd' x y 
The Prelude includes a gcd function, so we have to choose another name for ours. The function gcd' is a straightforward implementation of Euler's algorithm, and myGCD is just a wrapper that makes sure the arguments are positive and in increasing order. 

A more concise implementation is: 

myGCD :: Integer -> Integer -> Integer 
myGCD a b 
     | b == 0  = abs a 
     | otherwise = myGCD b (a `mod` b) 

Nasıl bu WinGHCi içinde test? Haskell programlarını çalıştırmak için adımlar/iş akışı nedir?

Teşekkürler!

cevap

11
  1. örneğin C:\Haskell\MyGCD.hs için yere bir .hs dosyasındaki kodu, kaydedin.

  2. başlatın WinGHCi ve :cd ile kaydedilmiş dizine gidin sonra :load ile yük:

    Prelude> :cd C:\Haskell 
    Prelude> :load MyGCD.hs 
    [1 of 1] Compiling Main    (MyGCD.hs, interpreted) 
    Ok, modules loaded: Main. 
    
  3. Şimdi fonksiyonu ile oynayabilir:

    *Main> myGCD 12 10 
    2 
    

Daha fazla bilgi için :help yazın veya bkz. Chapter 2: Using GHCi of the GHC User's Guide.

+0

Aha .. bu işlevle nasıl oynarsınız. Teşekkür ederim!! : D – Amjad