Zbuduj swoją karierę z Currying w Scala
Opublikowany: 2020-07-06Spis 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ę.
