Zbuduj swoją karierę z Currying w Scala

Opublikowany: 2020-07-06

Spis treści

Wprowadzenie do Scali

Scala, język programowania, został opracowany przez Martina Odersky'ego i jego grupę badawczą w 2003 roku. Rozwój Scali był rewolucją w świecie big data. Jest to niezwykle mocny i zasłużony język, który miał zmienić świat dla przyszłych pokoleń. Jest oparty na kompilatorze, co czyni go niezwykle szybkim i sprawnym.

Znaczną część swobody w Scali stanowi wirtualna maszyna Javy (JVM) . Kod Scala został najpierw zgromadzony przez kompilator Scala i tworzony jest kod bajtowy dla odpowiednika, który następnie zostanie przeniesiony do wirtualnej maszyny Java w celu uzyskania wydajności. W ten sposób Scala stała się drogą do postępu w radzeniu sobie z gigantyczną miarą big-data.

Dlaczego Scala tak bardzo podoba się społeczności programistów?

Scala ma więcej niż kilka powodów, aby być preferowaną przez różnych programistów. Omówmy tutaj kilka z nich.

To język wieloparadygmatyczny

Scala jest wystarczająco kompetentny, aby wspierać dwa paradygmaty programowania, tj. Programowanie funkcjonalne (FP) i programowanie obiektowe (OOP).

Zwięzła składnia

Kompilator w Scali, znany również jako Scala, jest niezwykle wydajny i może wykonać więcej, niż można by się spodziewać. Aby wymienić kilka rzeczy, może generować hasCode(), equals(), toString() i więcej.

Łatwe do nauki

Ponieważ Scala obsługuje programowanie obiektowe, jest stosunkowo łatwa do nauczenia programistów w porównaniu z Javą. Wraz z szybko rozwijającą się społecznością internetową, fora Scala stają się coraz bardziej powtarzalne. Główną tego częścią jest to, że ma dobre biblioteki wraz ze zgrabną składnią. Podczas gdy programiści manewrują w programowaniu funkcjonalnym i uczą się, nadal mogą używać swoich wcześniej istniejących umiejętności programowania obiektowego i budować rzeczy w Scali.

Dowiedz się: czy Python jest językiem zorientowanym obiektowo?

Nowe możliwości kariery

Ze względu na ogromną skalowalność Scala jest obecnie coraz bardziej poszukiwana w branży. Ponieważ najwyższej klasy marki, takie jak Twitter, Quora, LinkedIn itp. migrują do Scali, oczywiste jest, że będą szukać programistów biegłych w Scali. To tylko kwestia czasu, kiedy Scala stanie się potrzebą chwili dla innych dużych firm z innych branż.

Wpisane statycznie

Kompilator Scali wykorzystuje swoje wnioskowanie o typie do maksimum swoich możliwości i dlatego, chociaż wydaje się dynamiczny, Scala jest metodycznie typowany statycznie. Umożliwia to wnioskowanie o typie dla zmiennych i funkcji w Scali.

Teraz, gdy zrozumieliśmy, czym jest Scala, przejdźmy dalej i zrozummy currying w Scali .

Curry w Scala

Currying nosi imię amerykańskiego matematyka Haskella Curry'ego, znanego ze swojej pracy w logice kombinatorycznej.

Currying w Scali można zdefiniować jako strategię interpretacji oceny funkcji, która przyjmuje różne argumenty w celu oceny grupy funkcji, z których każda ma pojedynczą funkcję.

Matematycznie możemy to zapisać w następujący sposób –

f1 = f(a)

f2 = f1(b)

wynik = f2(c)

A pseudokod do tego będzie wyglądał następująco:

wynik = f(a)(b)(c)

Składnia Currying

Składnia używana do wykonywania curry w Scali jest następująca:

def pomnóż(a:Int)(b:Int) = a*b

Można go również zapisać w następujący sposób:

def pomnóż(a:Int) = (b:Int) => a*b

Przeczytaj: Wynagrodzenie programisty Java w Indiach: dla nowicjuszy i doświadczonych

Jak nazwać funkcję Currying

Aby wywołać funkcje currying w Scali, musimy przypisać wartości do zmiennych ' a' i ' b' wymienionych w powyższych równaniach.

Co to są funkcje częściowo stosowane?

Źródło

Gdy funkcja jest wywoływana, odbywa się to w celu zastosowania funkcji do zestawu argumentów. W przypadku, gdy przekażesz wszystkie oczekiwane argumenty, w końcu zastosujesz tę funkcję w pełni. Gdy wyślesz tylko kilka argumentów, otrzymasz częściowo zastosowaną funkcję. Daje to możliwość ograniczenia kilku argumentów i późniejszego wypełnienia pozostałych.

Przykład częściowo zastosowanej funkcji –

Krok 1: Zdefiniuj funkcję z wieloma parametrami

scala> def plus(a: int)(b: int) = a + b

plus: (a: zaint)(b: zaint)int

Krok 2: Podaj tylko wartość zmiennej „ scala> def X = X(2)(_)

X: int => int

Wynik tworzy nową funkcję „X” typu int => int.

Tutaj X można zapisać w następujący sposób

def X(b:int) = 2 + b

Powyższe równanie przedstawia to, że gdy X jest zaszczepiony z początkową wartością int równą 2, czeka tam na kolejną wartość int, do której może dodać.

W podsumowaniu, częściowo zastosowane funkcje dają następujące możliwości

  • Komponujesz ogólną funkcję.
  • Z funkcji ogólnej tworzysz konkretną funkcję.
  • Mimo wszystko będziesz miał dostęp do obu funkcji.
  • Utrzymujesz swój kod suchym, ponieważ nie musisz kopiować i wklejać kodu, aby utworzyć nową funkcję.

Przeczytaj o: Top 27 pytań i odpowiedzi do wywiadu Scala dla początkujących

Porównanie funkcji curryingu i częściowego zastosowania (PAF)

Currying i PAF są ściśle powiązane. Currying i częściowo zastosowane funkcje mogą wydawać się równoważne – obie przekształcają twoje funkcje w te z mniejszą liczbą argumentów. Jest jednak między nimi różnica.

  • Currying w Scali konsekwentnie tworzy zagnieżdżone funkcje jednoargumentowe lub jednoargumentowe. Zmieniona w ten sposób funkcja jest nadal w dużym stopniu podobna do pierwszej.
  • Aplikacja częściowa tworzy funkcje o subiektywnej liczbie argumentów. Zmieniona funkcja nie jest taka sama jak pierwsza – potrzebuje mniej argumentów w porównaniu z pierwszą.
  • Currying w Scali nie jest częściową aplikacją, ale można ją z powodzeniem wykonać przy użyciu częściowej aplikacji. Nie możesz zastosować curry do funkcji, jeśli nie przyjmuje ustalonej ilości parametrów. W przeciwnym razie nie zadziała pomyślnie.

Scala Frameworki

Oto kilka wybitnych frameworków Scala, które możesz sprawdzić, aby dobrze zrozumieć Scala –

Play Framework

Podnieś sieć

Rama Bowler

To jest czas w historii, kiedy dosłownie wszystkie drzwi zostały otwarte dla obecnego pokolenia, aby uczyć się i realizować to, czego chce. Istnieją różnorodne instytuty, mentorzy, usługi itp., które umożliwiają naukę i zapewniają walidację w formie stopni i certyfikatów.

Co więcej, teraz można to zrobić w zaciszu swojej sypialni. u pGrad , będąc czołowym graczem w tym segmencie branży, zrewolucjonizował system edukacji, kurs po kursie. Od studiów MBA, przez prawo, ubezpieczenia, aż po Data Science, upGrad zdołał przełamać wszelkie kajdany współczesnej edukacji i wywołać falę rewolucji w sektorze edukacyjnym.

Zawijanie

Aby zapoznać się z szerokim spektrum naszych kursów lub zrozumieć, jak robimy to, co robimy, poproś o oddzwonienie lub odwiedź naszą stronę internetową .

Jeśli chcesz dowiedzieć się więcej o programie Big Data, sprawdź nasz program PG Diploma in Software Development Specialization in Big Data, który jest przeznaczony dla pracujących profesjonalistów i zapewnia 7+ studiów przypadków i projektów, obejmuje 14 języków programowania i narzędzi, praktyczne ręce- na warsztatach, ponad 400 godzin rygorystycznej pomocy w nauce i pośrednictwie pracy w najlepszych firmach.

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Opanuj technologię przyszłości — Big Data

Zaawansowany program certyfikacji w Big Data z IIIT Bangalore