Anonymous Function: LAMBDA

Anonymous Function: LAMBDA

Dream: Use the function as a first-class element like val and var, which can be passed to the function as parameters and returned from the function.

Problem: Scala is based on a JAVA VIRTUAL MACHINE, everything is an instance of the class.

let's understand how Scala solved this problem and made a function a first-class element.

By using the same concept of apply() function Scala provides predefined traits like MyFunction from Function1 to Function22.

Still, we are implementing the Function type and overriding apply() method. But Scala provides a nicer way to write all the codes called Lambda Function.

What is Lambda?

it is a Syntax sugar or shorthand for creating an instance of Functional trait and overriding apply() method.

By using LAMBDA a niceDoubler can be written as:

Following are some rules, to follow with LAMBDA function:

Rule 1: parameter type is optional, it is not required where it can be inferred

Rule 2: For a single parameter () is optional, but for multiple parameters () is mandatory.

Rule 3: No parameter function

Rule 4: _ can be used to represent parameters.

Note: To use _ type of function must be defined.

GitHub: https://github.com/anish-diliyan/core-scala/tree/master/src/main/scala/fp/udemy





要查看或添加评论,请登录

Anish Kumar的更多文章

  • Understanding Functor

    Understanding Functor

    Functor represents a data structure or context that can be mapped over. It provides a way to apply a function to the…

    1 条评论
  • Monad For Beginners

    Monad For Beginners

    Monads are a fundamental concept in functional programming that represents computations that can be composed and…

  • def vs val To Define Abstract Members

    def vs val To Define Abstract Members

    The short story is that if you want to declare an abstract member in a trait, as a def or val field that may be later…

  • Basic Hierarchy of Scala Cat

    Basic Hierarchy of Scala Cat

  • Sorting in Scala: sorted method

    Sorting in Scala: sorted method

    Sorting in Scala is very similar to sorting in Java like Java's Comparable called Ordered and Java's Comparator called…

  • Diamond Problem

    Diamond Problem

    The Diamond Problem occurs when a class inherits from two or more parent classes with the same method or field. This…

  • Variance In Scala

    Variance In Scala

    1. All values have a type 2.

  • Match Patterns For Scala Classes

    Match Patterns For Scala Classes

    Pattern matching on case classes is straightforward because it provides extractor patterns out of the box. If we need…

  • Commonly Used Short Hands

    Commonly Used Short Hands

    infix/operator notation: A method with a single parameter can be used as an operator prefix notation: unary_prefix…

  • Partial Function In Scala

    Partial Function In Scala

    val aFunction = (x: Int) => x + 1 Here aFunction is an instance of Function1[Int, Int] ===== (Int) => (Int) which will…

社区洞察

其他会员也浏览了