├── .classpath
├── .gitignore
├── .project
├── README.md
├── files
├── LoremIpsum.txt
├── ObjectStore
├── data.tab
├── data2.tab
├── numbers n more.txt
├── numbers.txt
├── placekitten.com.html
└── scanned-file.txt
└── src
└── exercises
├── Chapter1.scala
├── Chapter2.scala
├── Chapter3.scala
├── Chapter4.scala
├── Chapter5.scala
├── Chapter5_Java.java
├── Chapter6.scala
├── Chapter7
├── Q1
│ ├── Q1_MultiPackage.scala
│ ├── Q1_Setup.scala
│ └── Q1_SinglePackage.scala
├── Q2
│ ├── Q2_Hack.scala
│ └── Q2_Run.scala
└── Q3
│ └── random.scala
├── Chapter7Runner.scala
├── Chapter8.scala
└── Chapter9.scala
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .cache
2 | .settings/
3 | bin/
4 | scala-impatient.pdf
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | Scala for the Impatient
4 |
5 |
6 |
7 |
8 |
9 | org.scala-ide.sdt.core.scalabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.scala-ide.sdt.core.scalanature
16 | org.eclipse.jdt.core.javanature
17 |
18 |
19 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Hi. If you are reading this, you are brave, brave person. I have collected my answers to _Scala for the Impatient_
2 | since I could not find a complete set of answers anywhere.
3 |
4 | My environment is of Scala 2.9.1 using Scala IDE/Eclipse, which some of the examples questions in the text do not seem to match. The text does
5 | not indicate the version it was written against, and so I have no idea and have not yet been able to infer. Answers that
6 | seem out of alignment in the text have been commented on as such. I also google a lot in answering, since the questions
7 | often say to "search the scala doc", which is extremely difficult for a newbie. Suffice it to say, some answers may
8 | include tricks not yet introduced explicitly in the text.
9 |
10 | This is my first earnest effort to learn Scala (as a derivative interest to the
11 | Play (2.0) framework), and so far that I've seen. There are often
12 | many atomically-concise styles of answering problems with equivalent outcomes, but perhaps non-equivalent nuances.
13 |
--------------------------------------------------------------------------------
/files/LoremIpsum.txt:
--------------------------------------------------------------------------------
1 | Proin pulvinar tincidunt pulvinar. Integer quis malesuada ante. Ut tellus ante, ultricies quis mattis eu, tristique in leo. Etiam dapibus nunc id risus feugiat porttitor. Vestibulum ornare ornare nisl, a egestas orci mattis et. Etiam sit amet massa at eros ullamcorper auctor. Nullam tincidunt porttitor hendrerit. Nam est nibh, porta quis fermentum a, varius eu leo. Vivamus luctus pellentesque blandit. Sed in tortor nibh. Vestibulum gravida placerat sem at feugiat. Nulla augue lectus, sollicitudin vel dictum tristique, fermentum eu libero. Quisque molestie, arcu eu tincidunt malesuada, justo odio luctus elit, in elementum leo magna sed risus.
2 | Nulla lectus quam, rhoncus nec lobortis eget, venenatis at libero. Donec egestas imperdiet nisi, nec faucibus mauris tempus nec. Donec justo urna, porta vitae vehicula vel, mattis sed purus. Donec magna magna, tempor at aliquet vel, pellentesque id est. Suspendisse potenti. Cras tincidunt ipsum in ipsum ultrices tempus. Donec dignissim, dolor sed suscipit imperdiet, tortor massa dictum elit, at consequat metus ligula a lacus.
3 | Quisque eget nulla tellus. Nullam porta ante non erat rutrum ut condimentum magna vulputate. Integer condimentum laoreet purus ut dictum. Integer pharetra dui quis lectus convallis ac vulputate libero fermentum. Vestibulum dolor mauris, facilisis non vestibulum et, porttitor ut massa. Nullam facilisis elementum risus eu ullamcorper. Nulla viverra fringilla odio eget accumsan. In hac habitasse platea dictumst. Mauris rhoncus consequat ante ut tempor. Ut id posuere mauris. Nullam gravida feugiat arcu non volutpat. Nunc suscipit, quam quis scelerisque malesuada, neque magna pellentesque nisl, at accumsan quam eros quis ligula. Praesent nec velit sed turpis varius venenatis et quis tortor. Integer iaculis, mauris vel cursus vestibulum, purus orci sodales magna, quis scelerisque enim lorem non sapien. Nam tempor risus ac diam molestie facilisis. Praesent eleifend, neque at sodales laoreet, quam velit auctor metus, vitae vehicula metus enim in lectus.
4 | Proin id velit nisi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In nisl orci, sollicitudin eget hendrerit suscipit, congue ac velit. Praesent id elit quis metus porta lobortis accumsan id ante. Phasellus mauris leo, accumsan quis hendrerit non, tristique in orci. In lacinia ipsum vel tellus vehicula euismod. Duis nec tortor eu lorem consectetur egestas.
5 | Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec aliquam consequat velit aliquam faucibus. Ut eu leo dui, at mattis magna. Nullam interdum sapien non justo vulputate tristique nec nec odio. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum dapibus arcu nec tellus imperdiet pulvinar vel et urna. In pretium condimentum nisi, et imperdiet arcu condimentum at. Ut commodo mattis erat quis congue. Nunc et convallis nisi.
6 | Vestibulum posuere lectus id lorem tristique molestie et sit amet est. Nam fermentum facilisis rutrum. Nam condimentum lobortis nisl id eleifend. Sed nulla lectus, rutrum sed adipiscing vitae, posuere et lectus. In tristique vehicula est id porta. Quisque facilisis, libero vitae luctus lobortis, massa magna hendrerit enim, eu placerat ligula libero accumsan libero. Etiam a lectus leo, ac gravida ligula.
7 | Proin vitae enim turpis. Curabitur et lectus laoreet libero dictum mattis nec a quam. Vestibulum bibendum mi eu sem malesuada imperdiet. In ac imperdiet tellus. Nulla nec ante dui, et venenatis sem. Nam nec purus sit amet enim tempor accumsan accumsan ac ante. Pellentesque sed enim vel turpis porttitor condimentum. Integer luctus odio nec felis condimentum iaculis. Sed sit amet nisi tortor, at tincidunt urna. Nulla quis lectus ac massa dapibus volutpat.
8 | Praesent lacinia hendrerit sagittis. Proin commodo libero ut nibh aliquam at lobortis diam facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc id purus sapien. Donec laoreet, nulla ut accumsan ultricies, erat magna egestas libero, bibendum feugiat mauris ligula a augue. Maecenas porttitor mi at libero hendrerit ut laoreet elit malesuada. Aliquam accumsan orci sed tortor porta iaculis. Mauris eu magna leo, ut condimentum dui. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
9 | Etiam scelerisque blandit lorem in pretium. Cras nec neque vitae metus vulputate tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus commodo, libero fringilla venenatis tincidunt, nunc velit varius nibh, vitae rhoncus urna libero at nulla. Ut laoreet risus ut sem scelerisque eget lobortis justo rutrum. Proin imperdiet accumsan massa, non tincidunt quam malesuada id. Curabitur eleifend ullamcorper erat. Nunc eget orci tortor. Fusce nulla odio, tempus et volutpat ac, mollis quis orci. Donec venenatis imperdiet felis, nec commodo ligula sagittis eu. Fusce venenatis auctor euismod. Nulla facilisi. Aenean pulvinar malesuada erat in porta.
10 | Cras nibh leo, hendrerit et porta vitae, mollis porttitor nulla. Nulla pellentesque ante neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi pulvinar auctor mi, nec tristique elit adipiscing tincidunt. Integer volutpat semper arcu, nec bibendum tellus facilisis non. In euismod metus vel metus adipiscing egestas. Duis sagittis, lacus et vulputate lobortis, augue purus rutrum sem, a pellentesque sapien ligula at mauris. Donec id vulputate ante.
11 | Aliquam et libero purus, congue interdum dui. Nullam congue, erat id sodales dignissim, velit purus dapibus ligula, vel scelerisque nulla dolor vel mauris. Quisque dictum magna dictum augue consectetur malesuada. Integer convallis urna sed erat iaculis a sollicitudin orci posuere. Sed tempus, nisi ac accumsan cursus, est massa ornare nisl, non lacinia nisl leo eu ligula. In hac habitasse platea dictumst. Sed venenatis facilisis felis sed sagittis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras felis turpis, laoreet ut fringilla dictum, tempus vitae ligula. Proin et nisl id ligula pulvinar pellentesque. Sed varius porta elit a dapibus. Curabitur magna libero, scelerisque scelerisque pellentesque condimentum, congue quis est. Nam dignissim augue at lorem convallis non ornare nisl consectetur. Cras arcu turpis, rhoncus consequat aliquet sit amet, cursus sit amet diam. Aliquam tincidunt, enim a adipiscing rhoncus, libero nisi lacinia elit, eu ultricies sapien odio id massa. Nam tempus, erat hendrerit varius vestibulum, libero nunc semper nulla, vitae facilisis enim nunc sed nisl.
12 | Suspendisse interdum consectetur vulputate. Sed id consectetur massa. Suspendisse pretium ultrices purus, ut aliquet justo venenatis id. Quisque eu nunc neque, et bibendum ipsum. Donec at nisi congue diam consequat interdum. Nullam sagittis nibh id nisi dapibus congue. Proin mattis lectus sed massa tempus mattis. Ut laoreet cursus elementum. Integer lacus orci, fermentum ut sodales eu, suscipit sit amet libero. Ut et risus felis, eget aliquam nunc.
13 | Proin ac risus ut nisl eleifend tincidunt. Praesent vel odio ac tellus gravida mollis. Integer interdum condimentum tellus feugiat vestibulum. Phasellus dictum nibh at tortor feugiat pretium. Nam elementum est vel massa tincidunt tempor et nec tortor. Vivamus rutrum eros id nisi ornare vulputate. Maecenas quis ultrices sem. Pellentesque vehicula rutrum urna, nec elementum elit suscipit id. Nullam scelerisque, eros eget volutpat ultricies, nisi neque tincidunt mauris, vel convallis arcu erat eu sem. Sed sed nulla augue, sed euismod felis. Duis risus mauris, pharetra id sagittis sed, aliquam eget tellus. Vestibulum vulputate, ante a varius auctor, sapien augue pellentesque tellus, id facilisis lacus libero sit amet sapien.
14 | Duis id tristique dolor. Integer eget nisi quis justo volutpat varius eget non ante. Nulla sed velit est. In et purus id quam imperdiet vulputate sed ut nibh. Vivamus dolor dolor, dapibus ac eleifend sed, pretium ac sapien. Mauris leo eros, accumsan iaculis volutpat tincidunt, ultricies quis orci. Proin at ligula leo. Proin sit amet justo sit amet tellus dapibus mattis non ac massa. Integer at orci ultrices ante convallis elementum in ut risus. Morbi ac congue orci.
15 | Cras gravida feugiat consequat. Integer aliquet laoreet nibh, at consequat elit tincidunt quis. Mauris interdum varius purus, non blandit orci porta nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed blandit, velit et egestas lacinia, nulla magna tempus libero, eu posuere arcu erat ut metus. Pellentesque at tincidunt urna. Curabitur ut rhoncus nisl. Suspendisse potenti. Proin imperdiet congue vehicula. Nam neque ipsum, congue id fermentum in, rutrum in arcu. Donec libero odio, molestie quis consequat in, feugiat eu orci. Donec sed augue ac purus vestibulum rutrum at vitae dolor. Morbi pretium imperdiet condimentum. Aliquam condimentum ligula a erat volutpat accumsan. Aliquam aliquet laoreet odio eget pellentesque. Etiam eget elit vitae tortor semper scelerisque quis eu tortor.
16 | Vestibulum sagittis ultricies sollicitudin. Fusce mollis, magna quis eleifend lobortis, odio justo imperdiet enim, quis pretium orci risus ut risus. In tortor lacus, lacinia vitae volutpat id, viverra sit amet elit. Sed feugiat purus eu nibh varius vel vestibulum dui dignissim. Aliquam erat volutpat. Duis vel quam ipsum. Vivamus laoreet, diam quis porttitor aliquam, eros erat tincidunt sem, et sagittis diam nunc vitae turpis. Donec bibendum, ligula eget lobortis facilisis, augue massa bibendum est, non sagittis felis nibh sit amet diam. Maecenas placerat, sapien et cursus convallis, felis enim vehicula arcu, et dapibus urna velit non tortor. Curabitur auctor, orci eget scelerisque aliquam, augue diam ultricies nisl, sit amet tincidunt risus est sed tellus. Maecenas et enim dui.
17 | Morbi faucibus magna et eros tincidunt malesuada. Duis velit leo, pharetra quis dignissim sed, sodales vel elit. Pellentesque ut pulvinar lorem. Etiam tempus justo tempus lacus laoreet quis blandit neque porta. In venenatis arcu a dolor cursus a suscipit arcu euismod. Nullam tempor tincidunt neque a molestie. Praesent suscipit dignissim nulla, congue convallis neque pellentesque ut. Aliquam ligula dolor, scelerisque id vulputate et, pretium sollicitudin ligula. Ut lacus lacus, placerat nec vehicula et, hendrerit quis neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec at hendrerit nisi. Phasellus ac velit egestas odio pretium viverra. Duis et lorem non magna eleifend consequat eu nec mi. Nulla suscipit consequat massa, eu tempus tortor dapibus sit amet.
18 | Sed tincidunt imperdiet porta. Cras in tellus in velit bibendum dignissim ut pretium ligula. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam vel nunc a elit tempus ultricies sit amet vitae massa. Duis aliquet, nulla vitae pellentesque volutpat, velit magna elementum lorem, vitae tempor tellus diam et lorem. Duis ultricies ante dui. Vivamus ligula mauris, convallis sit amet ultrices eget, gravida at ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
19 | Sed faucibus lectus eget est blandit porttitor. Aenean urna nisi, sodales vitae auctor et, vestibulum sit amet justo. Sed mollis laoreet neque, vitae lobortis turpis ultricies id. Curabitur sem elit, feugiat id porttitor sed, eleifend ut urna. Etiam sem dui, consectetur et commodo id, viverra et diam. Cras a tellus in justo porttitor mattis eu non risus. Nam posuere lobortis nunc eu convallis. Quisque neque diam, aliquet in blandit vitae, placerat sit amet magna. Maecenas pharetra imperdiet libero, ac elementum diam ornare quis. Mauris ultricies est purus. Curabitur eget ligula eget tortor accumsan semper ut id felis. In hac habitasse platea dictumst. Aliquam erat volutpat. Nunc lacinia cursus feugiat. Cras feugiat est vel tellus ornare in rhoncus neque faucibus.
20 | Etiam libero justo, placerat ac semper in, consequat sed mauris. Proin vitae lacus at tellus laoreet semper eget sit amet magna. Fusce laoreet tristique mi, sed blandit ligula laoreet facilisis. Curabitur at diam non leo volutpat volutpat in dapibus massa. Quisque in diam nisl. Sed venenatis posuere augue id dignissim. Mauris sit amet tristique sapien. Vivamus scelerisque, tortor sed mattis tincidunt, turpis arcu eleifend eros, ut feugiat est ante at dolor. Integer congue, arcu in lobortis gravida, nisl nisl bibendum tortor, id molestie tellus est eget felis. Suspendisse blandit nulla sed tellus rutrum eget eleifend sem congue. Integer ac elit eget ante vulputate volutpat eu eget augue. Vestibulum dapibus enim eu leo ultricies elementum non vitae lacus. Sed eu massa risus, eu egestas lectus. Ut feugiat scelerisque tristique. Nunc in nisi felis, vehicula ornare neque.
21 |
--------------------------------------------------------------------------------
/files/ObjectStore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirkraft/ScalaImpatient-AnswersAndNotes/44f9109f21096fcac781e49ac6d0c1ccbb73a50d/files/ObjectStore
--------------------------------------------------------------------------------
/files/data.tab:
--------------------------------------------------------------------------------
1 | FRUIT FRUITINESS COLOR CHARACTERISTIC
2 | Apple 1 Red Angry
3 | Orange 3 Orange Warm
4 | Lemon 0.5 Yellow Sour
5 | Lime 0.25 Green Sleazy
6 | Blueberry 2 Blue Stubby
7 | Eggplant 0.1 Purple Stolid
--------------------------------------------------------------------------------
/files/data2.tab:
--------------------------------------------------------------------------------
1 | FRUIT FRUITINESS COLOR CHARACTERISTIC
2 | Apple 1 Red Angry
3 | Orange 3 Orange Warm
4 | Lemon 0.5 Yellow Sour
5 | Lime 0.25 Green Sleazy
6 | Blueberry 2 Blue Stubby
7 | Eggplant 0.1 Purple Stolid
8 |
--------------------------------------------------------------------------------
/files/numbers n more.txt:
--------------------------------------------------------------------------------
1 | 1.1
2 | 2.5 Random lorem ipsum in here
3 | -8.1
4 | 4.5 2.6 .0
5 | korruptin in ur data filez!
6 | 3.!!!-.2
7 |
8 |
--------------------------------------------------------------------------------
/files/numbers.txt:
--------------------------------------------------------------------------------
1 | 1.1
2 | 2.5
3 | -8.1
4 | 4.5 2.6 0.0
5 |
6 | 3.0
7 |
--------------------------------------------------------------------------------
/files/placekitten.com.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
A quick and simple service for getting pictures of kittens for use as placeholders in your designs or code. Just put your image size (width & height) after our URL and you'll get a placeholder.