<p>I've run into a strange syntax in <a href="http://boo.codehaus.org/Closures" rel="nofollow noreferrer">Boo Language Guide</a> :</p>

<pre><code>setter = { value | a = value }
</code></pre>

<p>What does the | operator mean?</p>

[{'answer_id': 36866, 'author': 'Adam Wright', 'author_id': 1200, 'author_profile': 'https://Stackoverflow.com/users/1200', 'pm_score': 2, 'selected': False, 'text': "<p>Well, having never used Boo, my (educated) guess is that it's for passing parameter to the closure lambda-style functions. In this case, { p | C } refers to an anonymous function taking a single parameter bound to p within the code C.</p>\n"}, {'answer_id': 36869, 'author': 'dF.', 'author_id': 3002, 'author_profile': 'https://Stackoverflow.com/users/3002', 'pm_score': 4, 'selected': True, 'text': '<p>The documentation of Boo seems to be lacking in this area -- it seems that </p>\n\n<pre><code>setter = { value | a = value }\n</code></pre>\n\n<p>is shorthand for</p>\n\n<pre><code>setter = def(value):\n    a = value\n</code></pre>\n'}, {'answer_id': 224814, 'author': 'Frep D-Oronge', 'author_id': 3024, 'author_profile': 'https://Stackoverflow.com/users/3024', 'pm_score': 2, 'selected': False, 'text': '<p>Adam is correct. The point of the example is to show that lambdas in boo have read and write access to enclosing scope.</p>\n'}, {'answer_id': 312556, 'author': 'Mauricio Scheffer', 'author_id': 21239, 'author_profile': 'https://Stackoverflow.com/users/21239', 'pm_score': 0, 'selected': False, 'text': '<p>That syntax for specifying code blocks (anonymous functions) has been borrowed from <a href="http://blog.codahale.com/2005/11/24/a-ruby-howto-writing-a-method-that-uses-code-blocks/" rel="nofollow noreferrer">Ruby</a> and <a href="http://web.cecs.pdx.edu/~harry/musings/SmalltalkOverview.html#Blocks" rel="nofollow noreferrer">Smalltalk</a></p>\n'}]
['https://Stackoverflow.com/questions/36861', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/2313/']