Related Articles

# Scala | Ranges

• Last Updated : 08 Apr, 2019

The Range in Scala can be defined as an organized series of uniformly separated Integers. It is helpful in supplying more strength with less methods so, operations performed here are very quick.

Some important points:

• The Ranges can be utilized by the for loops for iteration.
• It can be obtained using some predefined methods namely until, by, and to.
• It is defined by three constants i.e, (start, end, and increment value).

Syntax:

`val range = Range(x, y, z)`

Where, x is the lower limit, y is the upper limit, and z is the increment.
Example:

 `// Scala program for Ranges`` ` `// Creating object``object` `GFG``{`` ` `    ``// Main method``    ``def` `main(args``:` `Array[String])``    ``{`` ` `        ``// applying range method``        ``val` `x ``=` `Range(``3``, ``10``, ``1``)`` ` `        ``// Displays given range``        ``println(x)`` ` `        ``// Displays starting value``        ``// of the given range``        ``println(x(``0``))`` ` `        ``// Displays last value``        ``// of the given range``        ``println(x.last)``    ``}``}`
Output:
```Range(3, 4, 5, 6, 7, 8, 9)
3
9
```

Thus, we can say that upper bound of the Range is not inclusive.

### Operations performed on Ranges

• If we want a range inclusive of the end value, we can also use the until method both until and Range methods are used for the same purpose.
Example:
 `// Scala program for Ranges`` ` `// Creating object``object` `GFG``{`` ` `    ``// Main method``    ``def` `main(args``:` `Array[String])``    ``{`` ` `        ``// applying range method``        ``val` `x ``=` `Range(``0``, ``10``, ``2``)`` ` `        ``// applying until method``        ``val` `y ``=` `0` `until ``10` `by ``2`` ` `        ``// Displays true if both the ``        ``// methods are equivalent``        ``println(x ``==` `y)``    ``}``}`
Output:
```true
```

Here, by method performs the work of increment.

• The upper bound of the Range can be made inclusive.
Example:
 `// Scala program for Ranges`` ` `// Creating object``object` `GFG``{`` ` `    ``// Main method``    ``def` `main(args``:` `Array[String])``    ``{`` ` `        ``// applying range method``        ``val` `x ``=` `Range(``1``, ``8``)`` ` `        ``// Including upper bound``        ``val` `y ``=` `x.inclusive`` ` `        ``// Displays all the elements``        ``// of the range``        ``println(y)``    ``}``}`
Output:
```Range(1, 2, 3, 4, 5, 6, 7, 8)
```

Here, inclusive is used to include upper bound of the Range.

• If we want a range of integer values, we can use the to method both to and inclusive Ranges are equivalent.
Example:
 `// Scala program for Ranges`` ` `// Creating object``object` `GFG``{`` ` `    ``// Main method``    ``def` `main(args``:` `Array[String])``    ``{`` ` `        ``// applying range method``        ``val` `x ``=` `Range(``1``, ``8``)`` ` `        ``// Including upper bound``        ``val` `y ``=` `x.inclusive`` ` `        ``// applying 'to' method``        ``val` `z ``=` `1` `to ``8`` ` `        ``// Displays true if both the``        ``// methods are equal``        ``println(y ``==` `z)``    ``}``}`
Output:
```true
```

Thus, both the methods here performs the same task.

My Personal Notes arrow_drop_up