Retrieving an item from a Seq by index

Feeling a little frustrated as I just spent a considerable amount of time figuring out how to retrieve an item by index from a Seq. Finally figured it out. It can be done using the lift method. This method is also supported by other collections.

This is the code snippet from REPL:

scala> Seq(1,2,3,4,5)
res0: Seq[Int] = Seq(1, 2, 3, 4, 5)

scala> res0 lift 452  
res1: Option[Int] = None

scala> res0 lift 0
res2: Option[Int] = Some(1)

From the Scala documentation:

def lift: (Int) ? Option[A]

Turns this partial function into a plain function returning an Option result.

returns
    a function that takes an argument x to Some(this(x)) if this is defined for x, and to None otherwise. 
Definition Classes
    PartialFunction
See also
    Function.unlift

Seriously, this is meant to be helpful?

Yes it is very simple to retrieve an item by index once you know how to. Hope this saves someone else some frustration. Happy coding 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s