Book Image

Clojure Programming Cookbook

Book Image

Clojure Programming Cookbook

Overview of this book

When it comes to learning and using a new language you need an effective guide to be by your side when things get rough. For Clojure developers, these recipes have everything you need to take on everything this language offers. This book is divided into three high impact sections. The first section gives you an introduction to live programming and best practices. We show you how to interact with your connections by manipulating, transforming, and merging collections. You’ll learn how to work with macros, protocols, multi-methods, and transducers. We’ll also teach you how to work with languages such as Java, and Scala. The next section deals with intermediate-level content and enhances your Clojure skills, here we’ll teach you concurrency programming with Clojure for high performance. We will provide you with advanced best practices, tips on Clojure programming, and show you how to work with Clojure while developing applications. In the final section you will learn how to test, deploy and analyze websocket behavior when your app is deployed in the cloud. Finally, we will take you through DevOps. Developing with Clojure has never been easier with these recipes by your side!
Table of Contents (16 chapters)
Clojure Programming Cookbook
About the Authors
About the Reviewer

Manipulating files and directories

In this recipe, we will show you how to read from files and write to files. Then we will learn how to create, delete, and list files and directories.

Getting ready

This recipe does not make use of any external library, so you can just start a REPL and be ready. As we manipulate files and directories, be careful to not delete files or directories and not overwriting the contents of your important files through inattention. We will make use of the source code of Clojure on the GitHub, so you need to install the git client to obtain the source.

How to do it...

Let's learn how to read and write files. We will also learn how to create and delete files and directories. Then we will see how to list files and directories.

spit and slurp

The spit writes a string to a file and the slurp reads the contents of a file as string:

(spit "/tmp/hello.txt" "Hello World Nico!" ) 
;;=> nil 

The spit with the :append true option appends a string to an existing file: