The print Macro will display one or more objects to the screen.
There are two ways to call the print macro.
print "Hello there" print "Hello", "there" |
Hello there Hello there |
In the second case, for every case except the last, it will write the string to the screen, write a space, then move on.
In the end, the two will have the same end result.
The assert Macro makes sure that a condition is true, otherwise it raises an AssertionFailedException.
assert can be called with one or two arguments.
The first argument must always be a boolean condition.
The optional second argument is a string that will be sent if the condition fails.
assert true // this will always pass assert false, "message" // this will always fail |
Boo.Lang.Runtime.AssertionFailedException: message at Tutorial.Main(String[] argv) |
|
Never |
The using Macro can take any number of arguments, it merely duplicates its behavior each time.
It creates a safety net for objects to be handled during a block, then disposed of as soon as that block is finished.
There are three types of arguments you can declare:
<object><object> = <expression><expression>In all three of these, it checks if the underlying object is an IDisposable, which it then disposes of afterward.
import System.IO
using w = StreamWriter("test.txt"):
w.WriteLine("Hello there!")
|
This will create the file, write to it, then close it as soon as the using block is finished. Makes it very safe and convenient.
The lock Macro makes sure that, in a multithreaded environment, that a specified object is not being used and prevents another object from using it at the same time.
lock must accept at least one argument, and it will put the lock on all that are given.
lock database:
database.Execute("""
UPDATE messages
SET
id = id + 1""")
|
The debug Macro is the exact same as the print Macro, except that it sends its messages to System.Diagnostics.Debug instead of System.Console.
Go on to Part 18 - Duck Typing