Tutorial by Examples: var

There is also a way to have a single method accept a covariant argument, instead of having the whole trait covariant. This may be necessary because you would like to use T in a contravariant position, but still have it covariant. trait LocalVariance[T]{ /// ??? throws a NotImplementedError de...
In order to define a variable inside a linq expression, you can use the let keyword. This is usually done in order to store the results of intermediate sub-queries, for example: int[] numbers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var aboveAverages = from number in numbers l...
The URLVariables class allows you to define data to be sent along with a URLRequest. Example: var variables:URLVariables = new URLVariables(); variables.prop = "hello"; variables.anotherProp = 10; var request:URLRequest = new URLRequest('http://someservice.com'); request.data = v...
A common pattern in C# is using bool TryParse(object input, out object value) to safely parse objects. The out var declaration is a simple feature to improve readability. It allows a variable to be declared at the same time that is it passed as an out parameter. A variable declared this way is sco...
The @var keyword can be used to describe the type and usage of: a class property a local or global variable a class or global constant class Example { /** @var string This is something that stays the same */ const UNCHANGING = "Untouchable"; /** @var string $some_s...
void doSomething(String... strings) { for (String s : strings) { System.out.println(s); } } The three periods after the final parameter's type indicate that the final argument may be passed as an array or as a sequence of arguments. Varargs can be used only in the final argume...
It is possible to define local variables inside a function to reduce code repetition give name to subexpressions reduce the amount of passed arguments. The construct for this is let ... in .... bigNumbers = let allNumbers = [1..100] isBig number = ...
In the condition of the for and while loops, it's also permitted to declare an object. This object will be considered to be in scope until the end of the loop, and will persist through each iteration of the loop: for (int i = 0; i < 5; ++i) { do_something(i); } // i is no longer in scope...
set(my_global_string "a string value" CACHE STRING "a description about the string variable") set(my_global_bool TRUE CACHE BOOL "a description on the boolean cache entry") In case a cached variable is already defined in the cache when CMake processes the ...
set(my_variable "the value is a string") By default, a local variable is only defined in the current directory and any subdirectories added through the add_subdirectory command. To extend the scope of a variable there are two possibilities: CACHE it, which will make it globally av...
macro(set_my_variable _INPUT) if("${_INPUT}" STREQUAL "Foo") set(my_output_variable "foo") else() set(my_output_variable "bar") endif() endmacro(set_my_variable) Use the macro: set_my_variable("Foo") message(STATUS ${my_outpu...
macro(set_custom_variable _OUT_VAR) set(${_OUT_VAR} "Foo") endmacro(set_custom_variable) Use it with set_custom_variable(my_foo) message(STATUS ${my_foo}) which will print -- Foo
The &AUX keyword can be used to define local variables for the function. They are not parameters; the user cannot supply them. &AUX variables are seldomly used. You can always use LET instead, or some other way of defining local variables in the function body. &AUX variables have the a...
To access a member of a class, you need to have a "handle" to the particular instance, as either the instance itself, or a pointer or reference to it. Given a class instance, you can point to various of its members with a pointer-to-member, IF you get the syntax correct! Of course, the poi...
A static member variable is just like an ordinary C/C++ variable, except with scope: It is inside a class, so it needs its name decorated with the class name; It has accessibility, with public, protected or private. So, if you have access to the static member variable and decorate it correctl...
Sometimes, it's not possible to list the number of parameters a function could need. Consider a sum function: func sum(_ a: Int, _ b: Int) -> Int { return a + b } This works fine for finding the sum of two numbers, but for finding the sum of three we'd have to write another function: f...
If you have a value that you use often, you can store it in a variable. You could use this to define color schemes, for example. You would only have to define your scheme once and then you could use it throughout your stylesheets. To define a variable, you must prefix its name with the $ symbol. (L...
When is an IEnumerable<T> a subtype of a different IEnumerable<T1>? When T is a subtype of T1. IEnumerable is covariant in its T parameter, which means that IEnumerable's subtype relationship goes in the same direction as T's. class Animal { /* ... */ } class Dog : Animal { /* ... */ }...
When is an IComparer<T> a subtype of a different IComparer<T1>? When T1 is a subtype of T. IComparer is contravariant in its T parameter, which means that IComparer's subtype relationship goes in the opposite direction as T's. class Animal { /* ... */ } class Dog : Animal { /* ... */ }...
IList<T> is never a subtype of a different IList<T1>. IList is invariant in its type parameter. class Animal { /* ... */ } class Dog : Animal { /* ... */ } IList<Dog> dogs = new List<Dog>(); IList<Animal> animals = dogs; // type error There is no subtype relat...

Page 5 of 20