title: What is the use of "use" keyword/method in groovy?
body: <p>I read <code>use</code> keyword in Groovy. But could not come out with, for what it has been exactly been used. And i also come with <strong>category</strong> classes, under this topic,what is that too? And from, Groovy In Action</p>
  
  <pre><code>class StringCalculationCategory {
    static def plus(String self, String operand) {
      try {
        return self.toInteger() + operand.toInteger()
      } catch (NumberFormatException fallback) {
        return (self &lt;&lt; operand).toString()
      }
    }
  }
  
  use (StringCalculationCategory) {
    assert 1 == '1' + '0'
    assert 2 == '1' + '1'
    assert 'x1' == 'x' + '1'
  }
  </code></pre>
  
  <p>With the above code, can anyone say what is the use of <code>use</code> keyword in groovy? And also what the above code does?</p>