object LoremIpsum {
def main(args:Array[String]) = {
println(words.length)
println(paragraphs.length)
println(paragraphs(6))
println("------>>")
println(words(400))
}
def words(n:Int):String =
words(n, words)
def paragraphs(n:Int):String =
paragraphs(n, paragraphs)
private def words(n:Int, xs:List[String]):String =
if (n <= xs.length)
("" /: xs.take(n)) (_ + " " + _)
else
words(n, xs ::: xs)
private def paragraphs(n:Int, xs:List[String]):String =
if (n <= xs.length)
("" /: xs.take(n)) (_ + "\n" + _)
else
paragraphs(n, xs ::: xs)
val text = """Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer faucibus leo ut lorem. Morbi interdum tellus ac felis. Etiam pharetra dignissim enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam odio. Maecenas eleifend ipsum in risus. Aliquam dolor nibh, rhoncus sit amet, volutpat eget, vestibulum a, odio. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus ipsum. Nullam ligula leo, placerat id, iaculis id, tempor non, mi. Sed eget justo sed massa vestibulum scelerisque. Nullam turpis. Quisque quam. Ut sit amet diam. Nunc vitae justo eget magna mollis iaculis. Ut tincidunt pretium nulla.
Cras vel massa ac sem tincidunt consectetuer. Sed a lorem. Ut condimentum, ipsum a auctor ullamcorper, nibh neque adipiscing felis, vel elementum nibh urna quis tellus. Vestibulum nunc est, congue sed, dapibus eu, sodales vel, quam. Nullam et sem. Sed id leo at mi aliquet mollis. Curabitur ante. Sed in nunc et orci imperdiet pulvinar. Ut laoreet. Praesent pellentesque magna sed felis mattis imperdiet. Proin porttitor, felis ac tempus fringilla, lorem urna sagittis lectus, vitae venenatis lectus felis sit amet libero. Quisque ac dui. Sed augue sapien, fringilla ut, pulvinar ac, pellentesque non, turpis. Maecenas tempus enim ac nulla. Aenean urna augue, ultrices vel, rhoncus ut, lacinia lacinia, lectus. Integer eleifend lectus ac nisl. Nulla tincidunt, velit ultrices blandit blandit, arcu felis euismod justo, eu lobortis lacus ligula sed turpis. Proin quam.
Praesent volutpat. Vivamus molestie purus vitae orci. Pellentesque dignissim augue id mi. Maecenas adipiscing tortor. Integer mi tortor, consequat eget, porttitor accumsan, pulvinar ut, augue. Nullam cursus viverra tortor. Donec tincidunt faucibus eros. Vestibulum turpis mi, pellentesque ac, gravida a, egestas eget, massa. Nullam massa purus, accumsan sed, fringilla ac, ornare nec, mauris. Nunc nisi nibh, malesuada vitae, porta a, placerat in, elit. Fusce feugiat dolor vitae quam. Sed malesuada elit non ante. Sed a sapien.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean massa. Nulla erat velit, fringilla sit amet, varius vitae, egestas ac, eros. Aliquam adipiscing facilisis turpis. Aliquam erat volutpat. Donec semper ipsum id lorem. Proin ligula risus, dignissim in, feugiat non, tristique ac, mi. Donec placerat sem quis nibh. Nullam auctor. Etiam mi velit, gravida et, congue non, imperdiet id, libero. Ut lorem. Vestibulum aliquam vehicula leo. Etiam et ante. Maecenas nulla. In hac habitasse platea dictumst. Vivamus lorem sapien, blandit ut, congue et, ultrices nec, dolor. Suspendisse potenti. Curabitur quis mi. Pellentesque semper arcu quis nulla. Pellentesque tristique, lacus eget placerat ullamcorper, erat pede laoreet erat, ac adipiscing purus tortor in leo.
Donec scelerisque. Curabitur orci urna, convallis eu, ullamcorper in, posuere non, augue. Donec libero augue, ullamcorper vitae, malesuada vitae, lacinia a, purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce vitae diam in lorem pulvinar mollis. Morbi pretium risus. Aenean ut erat. In velit leo, interdum ac, suscipit vitae, malesuada ac, risus. Aliquam et turpis ac augue ornare pharetra. Vivamus augue lectus, tempus ut, lacinia nec, gravida et, lacus. Donec sodales placerat magna. Curabitur vitae sem."""
val words = text.split("\\s").toList
val paragraphs = text.split("\\n").toList
}