Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Scala: Infix notation of methods

If a method ‘op’ takes one argument then ‘a op b’ is same as a.op(b).

 

For example,

1.until(5) is same as ‘1 until 5’.

scala> 1 until 5
val res237: scala.collection.immutable.Range = Range 1 until 5

scala> 1.until(5)
val res238: scala.collection.immutable.Range = Range 1 until 5

 

Example 2: Similarly 1.to(5) is same as ‘1 to 5’.

 

scala> 1.to(5)
val res239: scala.collection.immutable.Range.Inclusive = Range 1 to 5

scala> 1 to 5
val res240: scala.collection.immutable.Range.Inclusive = Range 1 to 5

 

Example 3: "#" * 5 is same as "#".*(5)

scala> "#" * 5
val res242: String = #####

scala> "#".*(5)
val res243: String = #####

 

Let’s define method with single argument and experiment with it in both infix notation and general form.

class User(firstName: String, lastName: String) {

def welcome(message: String) = {
s"$message $firstName,$lastName"
}
}

 

Above snippet defines ‘welcome’ method that takes single argument.

 

Let’s define a User instance.

val user1 = new User("Krishna", "Gurram")

 

Now you can call welcome method in both infix notation and normal form.

 

user1.welcome("Good Morning")

user1 welcome "Good Morning"

scala> class User(firstName: String, lastName: String) {
|
| def welcome(message: String) = {
| s"$message $firstName,$lastName"
| }
| }
class User

scala> val user1 = new User("Krishna", "Gurram")
val user1: User = User@cf87deb

scala> user1.welcome("Good Morning")
val res244: String = Good Morning Krishna,Gurram

scala> user1 welcome "Good Morning"
val res245: String = Good Morning Krishna,Gurram

 

 

 

 

 

 

Previous                                                    Next                                                    Home


This post first appeared on Java Tutorial : Blog To Learn Java Programming, please read the originial post: here

Share the post

Scala: Infix notation of methods

×

Subscribe to Java Tutorial : Blog To Learn Java Programming

Get updates delivered right to your inbox!

Thank you for your subscription

×