Scala'da Currying ile Kariyerinizi İnşa Edin

Yayınlanan: 2020-07-06

İçindekiler

Scala'ya Giriş

Bir programlama dili olan Scala, Martin Odersky ve araştırma grubu tarafından 2003 yılında geliştirildi. Scala'nın gelişimi, büyük veri dünyasında bir devrimdi. Gelecek nesiller için dünyayı değiştirecek olan son derece sağlam ve değerli bir dildir. Derleyici tabanlıdır, bu da onu son derece hızlı ve yetkin kılar.

Scala'nın önemli bir parçası, Java Sanal Makinesi'dir (JVM) . Scala kodu ilk olarak bir Scala derleyicisi tarafından toplandı ve eşdeğeri için bayt kodu oluşturuldu ve ardından verimi üretmek için Java Sanal Makinesine taşınacak. Bu doğrultuda Scala, devasa büyüklükteki büyük veri ile başa çıkmak için ilerlemenin yolunu açtı.

Scala, programlama camiasında neden bu kadar seviliyor?

Scala'nın çeşitli programcılar tarafından tercih edilmesi için birkaç nedenden daha fazlası var. Bunlardan birkaçını burada tartışalım.

Çok paradigmalı bir dildir

Scala, İşlevsel Programlama (FP) ve Nesne Yönelimli Programlama (OOP) olmak üzere iki programlama paradigmasını destekleyecek kadar yetkindir.

kısa sözdizimi

Scala olarak da bilinen Scala'daki derleyici son derece yeteneklidir ve beklediğinizden daha fazlasını gerçekleştirebilir. Birkaç şeyi adlandırmak gerekirse, hasCode(), equals(), toString() ve daha fazlasını oluşturabilir.

Öğrenmesi kolay

Scala, nesne yönelimli programlamayı desteklediğinden, Java ile karşılaştırıldığında programcılar için öğrenmesi nispeten kolaydır. Hızla büyüyen bir çevrimiçi toplulukla, Scala forumları giderek daha fazla tekrarlanıyor. Bunun önemli bir kısmı, düzgün bir sözdizimi ile birlikte iyi kitaplıklara sahip olmasıdır. Programcılar, işlevsel programlama yoluyla yollarını değiştirirken ve öğrenirken, önceden var olan nesne yönelimli programlama becerilerini kullanabilir ve Scala'da bir şeyler inşa edebilirler.

Öğrenin: Python Nesne Yönelimli Bir Dil mi?

Yeni kariyer fırsatları

Muazzam ölçeklenebilirliği nedeniyle Scala artık sektörde giderek daha fazla talep görüyor. Twitter, Quora, LinkedIn vb. gibi birinci sınıf markaların Scala'ya geçişiyle, Scala'da yetenekli kodlayıcılar arayacakları açıktır. Scala'nın diğer sektörlerdeki diğer büyük firmalar için günün ihtiyacı haline gelmesi an meselesi.

Statik olarak yazılmış

Scala derleyicisi, tür çıkarımını kapasitesinin en üst noktasında kullanır ve bu nedenle dinamik gibi görünse de, Scala metodik olarak statik olarak yazılır. Bu, Scala'daki değişkenler ve işlevler için tür çıkarımı sağlar.

Artık Scala'nın ne olduğunu anladığımıza göre, ilerleyelim ve Scala'da körlemeyi anlayalım .

Scala'da köri yapmak

Currying, kombinatoryal mantık konusundaki çalışmaları ile tanınan Amerikalı matematikçi Haskell Curry'nin adını almıştır.

Scala'da körleme , her biri tek bir işleve sahip bir grup işlevi değerlendirmek için çeşitli argümanlar alan bir işlevin değerlendirmesini yorumlamanın arkasındaki strateji olarak tanımlanabilir.

Matematiksel olarak şöyle yazabiliriz:

f1 = f(a)

f2 = f1(b)

sonuç = f2(c)

Ve bunun için sözde kod şöyle olacaktır -

sonuç = f(a)(b)(c)

Körleme Sözdizimi

Scala'da körleme yapmak için kullanılan söz dizimi şu şekildedir:

def çarpma(a:Int)(b:Int) = a*b

Aşağıdaki gibi de yazılabilir:

def çarpma(a:Int) = (b:Int) => a*b

Okuyun: Hindistan'da Java Geliştirici Maaşı: Yeni Başlayanlar ve Deneyimliler İçin

Körleme İşlevi nasıl çağrılır

Scala'da currying fonksiyonlarını çağırmak için yukarıdaki denklemlerde bahsedilen ' a' ve ' b' değişkenlerine değer atamamız gerekmektedir .

Kısmen Uygulanan İşlevler nelerdir?

Kaynak

Bir işlev çağrıldığında, işlevi bir dizi argümana uygulamak için yapılır. Beklenen tüm argümanları iletmeniz durumunda, işlevi tam olarak uygularsınız. Yalnızca birkaç argüman gönderdiğinizde, kısmen uygulanmış bir işlevi geri alırsınız. Bu size birkaç argümanı kısıtlama ve gerisini daha sonra doldurma imkanı verir.

Kısmen uygulanmış bir fonksiyon örneği –

Adım 1: Birden çok parametreli bir işlev tanımlayın

scala> def artı(a: int)(b: int) = a + b

artı: (a: int)(b: int)int

Adım 2: Yalnızca ' ölçek> tanım X = X(2)(_)

X: int => int

Buradaki çıktı, int => int türünde yeni bir 'X' işlevi yaratır.

Burada X aşağıdaki gibi yazılabilir.

tanım X(b:int) = 2 + b

Yukarıdaki denklemin tasvir ettiği şey, X'in 2'nin ilk int değeriyle tohumlandığında, orada oturup ekleyebileceği başka bir int değerini beklemesidir.

Özet olarak, kısmen uygulanan fonksiyonlar aşağıdaki kapasiteleri verir.

  • Genel bir işlev oluşturursunuz.
  • Genel işlevden belirli bir işlev yaparsınız.
  • Her şeye rağmen her iki fonksiyona da erişebileceksiniz.
  • Yeni bir işlev oluşturmak için kodu kopyalayıp yapıştırmanız gerekmediğinden kodunuzu kuru tutarsınız.

Hakkında bilgi edinin: Yeni Başlayanlar İçin En İyi 27 Scala Mülakat Soruları ve Cevapları

Currying ve Kısmen Uygulanan İşlevleri (PAF'ler) Karşılaştırma

Currying ve PAF'ler yakından ilişkilidir. Körleme ve kısmen uygulanan işlevler eşdeğer görünebilir - her ikisi de işlevlerinizi daha az argüman içeren işlevlere dönüştürür. Ancak aralarında bir ayrım vardır.

  • Scala'da körleme, tutarlı bir şekilde iç içe tekli veya 1-ary işlevler oluşturur. Bu nedenle değiştirilen işlev, büyük ölçüde birincisine benzer.
  • Kısmi uygulama, öznel sayıda argümanın işlevlerini yaratır. Değiştirilen işlev ilkiyle tamamen aynı değil – birincisine kıyasla daha az argümana ihtiyacı var.
  • Scala'da körleme kısmi bir uygulama değildir, ancak kısmi uygulama kullanılarak çok iyi yürütülebilir. Sabit miktarda parametre almıyorsa, bir işleve köri uygulayamazsınız. Aksi takdirde başarıyla çalışmaz.

Scala Çerçeveleri

İşte Scala'yı iyi anlamak için kontrol edebileceğiniz birkaç önde gelen Scala çerçevesi:

Oyun Çerçevesi

Web'i Kaldırın

melon çerçeve

Bu, tarihin, kelimenin tam anlamıyla, şimdiki nesile öğrenmek ve istediklerini takip etmek için her kapının açıldığı zamandır. Dereceler ve sertifikalar şeklinde öğrenmeyi sağlamak ve doğrulama sağlamak için çeşitli enstitüler, mentorlar, hizmetler vb. vardır.

Dahası, artık kişinin yatak odasının rahatlığında yapılabilir olmasıdır. u pGrad , bu endüstri segmentinde en iyi oyuncu olmak, her seferinde bir kurs olmak üzere eğitim sisteminde devrim yarattı. MBA'den Hukuka, Sigortadan Veri Bilimine kadar upGrad, çağdaş eğitimin tüm prangalarını kırmayı ve eğitim sektöründe bir devrim dalgası getirmeyi başardı.

toparlamak

Kurslarımızın geniş yelpazesini kontrol etmek veya yaptığımız işi nasıl yaptığımızı anlamak için geri arama talebinde bulunmaktan veya web sitemize göz atmaktan çekinmeyin .

Büyük Veri Programı hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 7+ vaka çalışması ve proje sağlayan, 14 programlama dilini ve aracını, pratik elleri kapsayan Büyük Veride Yazılım Geliştirme Uzmanlığı programında PG Diplomamıza göz atın. atölyelerde, en iyi firmalarla 400 saatten fazla titiz öğrenim ve işe yerleştirme yardımı.

Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Geleceğin Teknolojisinde Ustalaşın - Büyük Veri

IIIT Bangalore'den Büyük Veride Gelişmiş Sertifika Programı