English  

كتب code examples

اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.

عرض المزيد

أمثلة للأكواد (معلومة)


  • طالع أيضًا: خصائص#أمثلة هاسكل

البرنامج التالي هو " هاللو ورلد " وهو مكتوب بلغة هاسكل (لاحظ أنه يمكن حذف جميع الخطوط ماعدا الخط الأخير).

module Main where main :: IO () main = putStrLn "Hello, World!"

هاهو العاملي الرياضي مشروحا بستة طرق مختلفة:

-- type factorial :: Integer -> Integer -- using recursion factorial 0 = 1 factorial n = n * factorial (n - 1) -- using lists factorial n = product [1..n] -- using recursion but written without pattern matching factorial n = if n> 0 then n * factorial (n-1) else 1 -- using fold factorial n = foldl (*) 1 [1..n] -- using only prefix notation and n+k-patterns (no longer allowed in Haskell 2010) factorial 0 = 1 factorial (n+1) = (*) (n+1) (factorial n) -- Point-free style factorial = foldr (*) 1. enumFromTo 1

وهذا تطبيق فعال لأرقام فيبوتاتشي، كقائمة لا نهائية:

-- Point-free style fib :: Int -> Integer fib = (fibs !!) where fibs = 0 : scanl (+) 1 fibs -- Explicit fib :: Int -> Integer fib n = fibs !! n where fibs = 0 : scanl (+) 1 fibs -- with a similar idea, using zipWith fib :: Int -> Integer fib n = fibs !! n where fibs = 0 : 1 : zipWith (+) fibs (tail fibs) -- Using an extra parameter fib :: Int -> Integer fib n = (fibs 0 1) !! n where fibs a b = a : fibs b (a+b)

تشير الكتابة "Int" إلى عدد صحيح (machine-sized) (تستخدم كقائمة رموز سفلية مع المُعامل !!)، بينما "عدد صحيح" هو عدد صحيح ذو دقة تامة. وعلى سبيل المثال، فالكود الموجود بالأعلي يحسب سريعا "fib10000" كعدد من 2090-رقم.

المصدر: wikipedia.org