Clojure was designed to be a Hosted Language, which means that it can run in different environments or runtimes. One important philosophy aspect is that Clojure does not attempt to get in the way of your original host; this allows you to use your knowledge of the underlying platform to your advantage.
In this case, we are using the Java platform. Let's look at the basic interrupt syntax that we need to know.
There are two ways to create an object in Clojure; for example, let's have a look at how to create an instance of java.util.ArrayList
.
(def a (new java.util.ArrayList 20))
Here, we are using the new
special form, as you can see it receives a symbol (the name of the class java.util.ArrayList
) and in this case it is an integer.
The symbol java.util.ArrayList
represents the classname
and any Java class name will do here.
Next, you can actually pass any number of parameters (including 0
parameters). The next parameters are the parameters of the constructor...