Scala - select elements from ordered list

I am looking for a nice way to remove first N elements which are equal from the ordered list, e.g.

List(1,1,1,2,3,3)

should return

removeSame(list)  -> (1,1,1)

Is there a nice way to do it, rather than remove the head of the list and then use takeWhile on the remainder, and finally using dropwhile? I can think of simple non-functional solution but I was wondering whether any functional one also exists

Answers


The functional way to avoid the duplication of takeWhile and dropWhile to get a prefix and remainder is using span, i.e.

scala> val list = List(1,1,1,2,3,3)
list: List[Int] = List(1, 1, 1, 2, 3, 3)

scala> val (prefix, rest) = list span (_ == list.head)
prefix: List[Int] = List(1, 1, 1)
rest: List[Int] = List(2, 3, 3)

Need Your Help

Is it possible to send an SMS with hyperlink and anchor text (hidden URL) on Android device?

android hyperlink sms

I know that the Android Message app can parse URLs that starts with "www" and "http://", making them hyperlinks. But is it possible to send a hyperlink, where only the anchor text is displayed and ...

Swift 'use of undeclared type'

ios swift

i am currently trying to write a little iOS applicationin swift, where I have these Classes:

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.