Haskell diline giriş

İçindekiler

bir görelim Haskell programlama diline giriş, yaklaşık bir Fonksiyonel dil. Bu tür bir dilde, fonksiyonlar bir hesaplama yapacak ve bir şey döndürecekler, bunun ikincil bir etkisi yok. Ayrıca değişkenler sadece bir değer alabilir, yani 10 değerini atadığımız n adında bir değişkenimiz varsa, n 10 değerinde olacaktır, onu 14 veya 3 yapamayız.

Haskell statik olarak yazılmış bir dildirBunun gibi başka bir dil örneği Java'dır, bu, bir kodu derlediğimizde, derleyicinin, ne tür verilerin belleğin bir bölümüne (tamsayı, dize, karakter, boolean, vb.) ait olduğunu bileceği anlamına gelir. Python veya Ruby gibi dinamik diller.

Bu dil tembel değerlendirmeler yapar, bir değer tamamen gerekli olana kadar bir hesaplama yapmayacak ve ayrıca daha sonra hesaplamaya ihtiyacımız olursa bu değerlendirmenin tekrarlanmasını önleyecektir. Üstel işlevler için ilginç bir şeydir, çünkü yürütme süresini azaltmaya yardımcı olacaktır.

Dilin bazı özelliklerine giriş yaptıktan sonra, eylemle başlayacağız, öğretici tamamen pratik olacak, ihtiyacımız olan ilk şey Haskell'i sistemimize kurmak, bu eğitim için Ubuntu kullanılacak, bu nedenle terminalde aşağıdaki komutu uygulayacağım:

 sudo apt-get install haskell-platformu
Başka bir işletim sistemi kullanıyorsanız, Windows, Mac veya başka bir Linux dağıtımında kuruluma nasıl devam edeceğinizi bulacağınız resmi Haskell sayfasına bir düğme bırakıyoruz:

HASKELL'İ İNDİR

Pratikle başlayalım, öğreticiyi en basitinden başlayarak örneklere ayıracağız.

örnek 1
Haskell konsolunu başlatarak başlayacağız, bunun için bir terminalde aşağıdaki komutu yazacağız:

 ghci
Gördüğünüz gibi, yüklüyoruz:

İstem Prelude'dur, onu değiştirebiliriz, bu durumda onu hkl'ye koyacağız, bunun için yürüteceğiz:

 : "hskl>" istemini ayarla
Nasıl değiştiğini görüyoruz:

İlk örnekle bitirmek için, bu konsolda bazı işlemlerin nasıl yapıldığını göreceğiz, aşağıda örneklerin yakalanması, bir toplamı, bir bölmeyi görebiliriz (diğer dillerde bize ondalık sayıları gösterdiğini görüyoruz ​işlevini değerlendirmek için tamsayı kısmını ve parantezli bir işlemi döndürürdü.

NotHaskell konsolundan çıkmak istiyorsak şunu yazıyoruz:

 : ne
Ve enter veriyoruz.

Örnek 2
Aşağıdaki örnekte Boolean veri türleri ile çalışacağız, kullanımlarını anlamak için aşağıdaki resme bakın:

Daha fazla açıklama gerektirmez, kullanırız ve (&&) ve veya (||), olumsuzlamaya ek olarak (olumsuzluk). Şu anda gördüğümüz gibi her şey kolay.

Örnek 3
Dizeleri, sayıları diğer dillerde yaptığımız gibi karşılaştırabiliriz, nasıl çalıştığını görelim:

Farklı türler arasındaki karşılaştırma, beklendiği gibi bize bir hata veriyor.

Örnek 4
Bu örnekte, muhtemelen sıklıkla kullanacağımız Haskell'de bulunan fonksiyonları göreceğiz:

Önceki ekran görüntüsünde görülen işlevleri açıklıyoruz:

  • succ x: x'in ardılını döndürür, x 3 ise 4 döndürür.
  • en az x y: x ile y arasındaki minimum sayıyı verir, y 3 ve x 2 ise x değerini döndürür.
  • maksimum x y: 3 ve 2 örneğinde maksimum x ve y değerini döndürür, 3 değerini döndürür.

Örnek 5
Bu örnekte bir "fonksiyon" yaratacağız:

Bir sayının karesi olan exp fonksiyonunu ve kendisine ilettiğimiz sayının iki katını döndürecek double adında bir fonksiyon oluşturduğumuzu görüyoruz, ayrıca bir fonksiyonun ne döndürdüğünü diğerleriyle birleştirebildiğinizi de görebilirsiniz. ekleme gibi işlemler.

Örnek 6
Kendi maksimum fonksiyonumuzu oluşturacağız, ancak 3 sayı için ve onu yakalamanın altında kullanacağız:

Örnek 7
Haskell'de çalışabileceğimiz diğer fonksiyonları göreceğiz, bunlar basit, listelere uygulayacağız.

nasıl olduğunu görüyoruz içinde yaptığı son öğe olmadan listeyi döndürmek, kuyruk tersini yapar, listeyi ilk eleman olmadan döndürür. eğer görürsek kafa listenin ilk öğesini döndürür ve elbette geçen son elemanı döndürür. Ve son iki fonksiyon, uzunluk bize listenin uzunluğunu verir ve ters Dönüp bize döndü. Daha fazla fonksiyon var, ancak öğreticinin amacı hepsini görmek değil, sadece Haskell ile çalışmaya başlayabilmeniz için bir yaklaşıklık vermek.

Örnek 8
Bir dosya oluşturmaya, derlemeye ve çalıştırmaya çalışacak bir sayının faktöriyelini hesaplayacak son örneği göreceğiz, test.hs adında bir dosya oluşturacağız ve içine ekleyeceğiz. aşağıdaki kod:

 fac n = (n == 0 ise 1 başka n * fac (n-1)) ana = yazdır (fac 3)
Derlemek için aşağıdaki satırı kullanıyoruz:
 ghc -o testi testi.hs
Ve yürütmek için koyduk:
 ./Ölçek
İşte çıktı:

Peki, bu öğretici Haskell programlama diliZaten hızlı programlama deneyiminiz varsa, onu asarsınız, ancak başlangıçta işlevsel dillere alışkın değilseniz, programlaması biraz garip olabilir.

Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave