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
No comments:
Post a Comment