I'm sitting at Panera Bread, reviewing the first two chapters of the Scala Cookbook. Chapter 1 sucks, someone’s gonna have to do something about that. Chapter 2 isn’t too bad.
A lesson learned from writing the Scala Cookbook: It’s fun and interesting to work with some professional writers in the editing process, and it’s great to get their feedback. But you also have to be willing to duke it out to keep what’s important. It’s your baby, it’s your name on the front cover.
Problem: You want to eliminate repetitively passing variables into a Scala function by (a) passing common variables into the function to (b) create a new function that’s pre-loaded with those values, and then (c) use the new function, passing it only the unique variables it needs.
Solution: The classic example of a partially applied function begins with a simple
Problem: You want to define a Scala method that takes a function as a parameter, and that function may have one or more input parameters, and may also return a value.
Solution: Following the approach described in the previous recipe, define a method that takes a function as a parameter. Specify the function signature you expect to receive, and then execute that function inside the body of the method.
If you’ve read any of my books (like the Scala Cookbook or Functional Programming, Simplified), and thought, “Hey, I can write a book,” I encourage you to do so. One book that has been helpful in my writing career is William Zinsser’s On Writing Well: The Classic Guide to Writing Nonfiction. If you’re seriously thinking about writing a book about programming or any other technical topic, it’s a good read.
In an effort to “Get rid of the crap,” I asked my editor if we could delete an entire chapter from the Scala Cookbook, and she said yes. I didn’t know if they’d allow that since the advance they paid me is based on a proposal of X chapters, but they’re all-in on just trying to create a good book, which is nice.
This is a page from my book, “A Survival Guide for New Consultants”
As I finish editing this book in January, 2014, it’s a busy time. In addition to releasing this book, I just finished writing a 700+ page computer programming book for O’Reilly named Scala Cookbook.
A funny thing about the Scala Cookbook: I wrote it on a whim, as a dare, wondering, “Am I good enough to write this book, on my own?” I doubted myself for a little while, but then overcame my fears and sent an email to the people at O’Reilly. As I’ve said throughout this book, all you are is attitude.
Photos of mom and cub polar bears. I hoped O’Reilly would use these for the cover of the Scala Cookbook — because of the whole “scalable” thing, and to help raise awareness about climate change — but whoever puts images on their book covers had something else in mind.
This is an excerpt from the Scala Cookbook (partially modified for the internet). This is Recipe 1.3, “How to Split Strings in Scala.”
You want to split a string into parts based on a field separator, such as a string you get from a CSV or pipe-delimited file.
Use one of the split methods that are available on String objects: