Message-ID: <1274195157.21919.1417010969454.JavaMail.email@example.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_21918_573777341.1417010969453" ------=_Part_21918_573777341.1417010969453 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
#if<= br /> #import
#null<= br /> #of
"abstract" is used to designate a class as a base class. A der= ivative of the abstract class must implement all of its abstract methods an= d properties.
"and" is a logical operator that is applied to test if two boo= lean expressions are true.
The "as" keyword declares a variables type.
"AST" is used to create AST objects for use with the Boo compi= ler.
"break" is a keyword used to escape program execution. Typical= ly break is used inside a loop and may be coupled with the "if" o= r "unless" keywords.
"callable" allows function or type to be called by another.
"cast" is a keyword used to explicitly transform a variable fr= om one data type to another.
"char" is a data type representing a single character. The cha= r data type is distinct from a string containing a single character. char('= t') refers to a System.Char type, whereas "t" or 't' is a System.= String.
"class" is a definition of an object including its properties = and methods.
"constructor" is a method belonging to a class that is used to= define how an instance of the class should be created. The constructor may= include input parameters and may be overloaded.
see the examples for the keyword "class"
"continue" is a keyword used to resume program execution at th= e end of the current loop.
The continue keyword is used when looping. It will cause the position of= the code to return to the start of the loop (as long as the condition stil= l holds).
"def" is used to define a new function or method.
"destructor" is used to destroy objects. Destructors are neces= sary to release memory used by non-managed resources in the .NET CLI. Desct= ructors should never be called explicitly. They can be invoked by implement= ing the IDisposable() interface.
"do" is synonymous with 'def' for closures. However, "do&= quot; reads as an imperative and therefore should be used in an active sens= e.
"elif" is similar the same as the "if" conditional s= tatement in form, except that it needs to be preceded by an if statement or= another elif statement and that it is only evaluated (checked) if the if/e= lif statement preceding it evaulates to false.
If one of the preceding if/elifs statements evaluates to true, the rest = of the elifs will not be evaluated, thus sparing extra CPU power from a poi= ntless task.
"else" is defines a statement that will be executed should a p= receding "if" condition fail.
"ensure" is used with the "try" and "except&quo= t; keywords to guarantee a certain block of code runs whether the try/excep= t block is successful or not. "ensure" is often used to add some = post executions to an exception event.
"enum" is used to create a list of static values. Internally t= he names are assigned to an Int32 value.
"event" is (insert text here)
"except" is keyword use to identify a block of code that is to= be executed if the "try" block fails.
See examples under the "ensure" keyword.
"failure" is not yet implemented in boo.
"final" is a keyword used to identify a class that cannot have= subclasses. final may also be used to declare a field as a constant.
"from" is used with the "import" keyword to identify= the assembly being imported from. Form usage is "import TARGET (from = ASSEMBLY). The "from" keyword is optional.
"for" is used to loop through items in a series. "for&quo= t; loops are frequently used with a range or a listarray.
"false" represents a negative boolean outcome.
"get" is used to identify a field that is exposed for external= access. Use "get" to make a field available as read-only. Use &q= uot;set" to add write access. "get" is suffixed by a colon w= hen implemented and includes a return statement. It is possible to modify t= he value of the field being returned. See example 1.
"get" is also used when defining an interface to define which = fields should be implemented as accessible. When "get" is used to= define an interface the colon and return statements are excluded. See exam= ple 2.
"given" is used as the entry to a "given ... when" l= oop. "given" identifies a state. A series of "when" sta= tements may be executed based on the identified state. _ The "given&qu= ot; keyword is currently not implemented. _
"goto" exits a line of code and moves to a named line in the c= ode. The named line must be prefixed wtih a colon. Good programming practic= e eschews the use of "goto"
The example below names two lines ":start" and "test"= ;. They are referenced in the code by separate goto statements. This exampl= e produces an endless loop. The "ensure" statement includes a Con= sole.Readline() that prevents the loop from continuing without user input.<= /p>
"if" is a conditional statement, followed by a statement that = either evaluates to true or false. In block form, the code within the block= is executed only if the expression following the if evaluates to true.
The if statement can be used to selectively execute a line of code by pl= acing "if <expression>" at the very end of the statement. T= his form of the if conditional is useful in circumstances when you are only= going to perform one operation based entirely on an expression: this makes= the code cleaner to read than an unnecessary if block.
"import" is used to include a namespace from other assemblies = within your program. If the assembly is not automatically included, the &qu= ot;from" keyword must be included to identify the respective assembly.=
"in" is used in conjunction with "for" to iterate th= rough items in a list. "in" may also be used to test items in a s= et.
See examples for the keyword "for".
"inteface" is used to define the fields and methods that may b= e implemented by a class. The implementation is never performed by the inte= rface. Interfaces allow you to establish an API that is the basis for other= classes.
"internal" is a keyword that precedes a class definition to li= mit the class to the assembly in which it is found.
"is" is an equvalence operator keyword that is used to test a = value. "is" may not be used with ints, doubles, or boolean types.= "is" is commonly used to test for null.
"isa" determines if one element is an instance of a specific t= ype.
"not" is used with "is" to perform a negative compar= ison. "not" can also be used in logical expressions.
"null" is a keyword used to specify a value is absent.
"of" is used to specify type arguments to a generic type or me= thod.
"or" is a logical operator that is applied to test if either o= f two boolean expressions are true.
"otherwise" is part of the conditional phrase "given ... = when ... otherwise". The otherwise block is executed for a given state= if none of the when conditions match. _ The otherwise keyword is not yet i= mplemented _
See examples for "given".
"override" is used in a derived class to declare that a method= is to be used instead of the inherited method. "override" may on= ly be used on methods that are defined as "virtual" or "abst= ract" in the parent class.
"namespace" is a name that uniquely identifies a set of object= s so there is no ambiguity when objects from different sources are used tog= ether. To declare a namespace place the namespace followed by the name you = choose at the top of the file.
"partial" is (insert text here)
"pass" is a keyword used when you do not want to do anything i= n a block of code.
"public" is used to define a class, method, or field as availa= ble to all. "public class" is never required because a defined cl= ass defaults to public.
"protected" is a keyword used to declare a class, method, or f= ield as visible only within its containing class. Fields are by default pro= tected. Prefixing a field name with an underscore is recommended prac= tice.
"private" is keyword used to declare a class, method, or field= visible within only its containing class and inherited classes..
"raise" is (insert text here)
"ref" makes a parameter be passed by reference instead of by v= alue. This allows you to change a variable's value outside of the context w= here it is being used
"retry" is not yet implemented.
"return" is a keyword use to state the value to be returned fr= om a function definition
"self" is used to reference the current class. "self"= ; is not required for boo but may be used to add clarity to the code. "= ;self" is synonymous with the c# keyword "this".
"set" is a keyword used to define a field as writeable.
"static" is (insert text here)
"struct" is short for structure. A structure is similar to a c= lass except it defines value types rather than reference types.
Refer to the Boo Primer for more information on structures.
"success" is not yet implemented.
"super" is used to reference a base class from a child class w= hen one wants to execute the base behavior.
"transient" transient marks a member as not to be serialized. = By default, all members in Boo are serializable.
"true" is keyword used to represent a positive boolean outcome= .
"try" is used with the "ensure" and "except&quo= t; keywords to test whether a block of code executes without error.
typeof returns a Type instance. Unnecessary, in Boo since you can pass b= y type directly.
"unless" is similar to the "if" statement, except th= at it executes the block of code unless the expression is = true.
"virtual" is a keyword that may precede the 'def' keyword when= the developer wishes to provide the ability to override a defined method i= n a child class. The 'virtual' keyword is used in the parent class.
"when" is used with the "given" keyword to identify = the condition in a which the "given" value may be executed. _b &q= uot;when" is currently not implemented.
see examples for the "given" keyword.
"while" will execute a block of code as long as the expression= it evaluates is true.
It is useful in cases where a variable must constantly be evalulated (in= another thread, perhaps) , such as checking to make sure a socket still ha= s a connection before emptying a buffer (filled by another thread, perhaps)= .
"yield" is similar to "return" only it can be called= multiple times within a single method.