Tutorial by Examples: a

Variable substitutions should only be used inside double quotes. calculation='2 * 3' echo "$calculation" # prints 2 * 3 echo $calculation # prints 2, the list of files in the current directory, and 3 echo "$(($calculation))" # prints 6 Outside of doubl...
All the examples in this paragraph print the line !"#$&'()*;<=>? @[\]^`{|}~ A backslash quotes the next character, i.e. the next character is interpreted literally. The one exception is a newline: backslash-newline expands to the empty string. echo \!\"\#\$\&\'\(\)\*\;\...
The above type handler can be installed into SqlMapper using the AddTypeHandler method. SqlMapper.AddTypeHandler<IHtmlString>(new IHtmlStringTypeHandler()); Type inference allows you to omit the generic type parameter: SqlMapper.AddTypeHandler(new IHtmlStringTypeHandler()); There's als...
The & operator will perform a binary AND, where a bit is copied if it exists in both operands. That means: # 0 & 0 = 0 # 0 & 1 = 0 # 1 & 0 = 0 # 1 & 1 = 1 # 60 = 0b111100 # 30 = 0b011110 60 & 30 # Out: 28 # 28 = 0b11100 bin(60 & 30) # Out: 0b11100
if [[ $file1 -ef $file2 ]]; then echo "$file1 and $file2 are the same file" fi “Same file” means that modifying one of the files in place affects the other. Two files can be the same even if they have different names, for example if they are hard links, or if they are symbolic links...
if [[ -r $filename ]]; then echo "$filename is a readable file" fi if [[ -w $filename ]]; then echo "$filename is a writable file" fi if [[ -x $filename ]]; then echo "$filename is an executable file" fi These tests take permissions and ownership into a...
Numerical comparisons use the -eq operators and friends if [[ $num1 -eq $num2 ]]; then echo "$num1 == $num2" fi if [[ $num1 -le $num2 ]]; then echo "$num1 <= $num2" fi There are six numeric operators: -eq equal -ne not equal -le less or equal -lt less than ...
String comparison uses the == operator between quoted strings. The != operator negates the comparison. if [[ "$string1" == "$string2" ]]; then echo "\$string1 and \$string2 are identical" fi if [[ "$string1" != "$string2" ]]; then echo &quot...
In helloJohn.sh: #!/bin/bash greet() { local name="$1" echo "Hello, $name" } greet "John Doe" # running above script $ bash helloJohn.sh Hello, John Doe If you don't modify the argument in any way, there is no need to copy it to a local variabl...
Gradients are new image types, added in CSS3. As an image, gradients are set with the background-image property, or the background shorthand. There are two types of gradient functions, linear and radial. Each type has a non-repeating variant and a repeating variant: linear-gradient() repeating-...
Some regular expression flavors allow named capture groups. Instead of by a numerical index you can refer to these groups by name in subsequent code, i.e. in backreferences, in the replace pattern as well as in the following lines of the program. Numerical indexes change as the number or arrangemen...
You define a map using the keyword map, followed by the types of its keys and its values: // Keys are ints, values are ints. var m1 map[int]int // initialized to nil // Keys are strings, values are ints. var m2 map[string]int // initialized to nil Maps are reference types, and once defined ...
One can declare and initialize a map in a single statement using a composite literal. Using automatic type Short variable declaration: mapIntInt := map[int]int{10: 100, 20: 100, 30: 1000} mapIntString := map[int]string{10: "foo", 20: "bar", 30: "baz"} mapStringInt :...
The zero value of a map is nil and has a length of 0. var m map[string]string fmt.Println(m == nil) // true fmt.Println(len(m) ==0) // true A nil map has no keys nor can keys be added. A nil map behaves like an empty map if read from but causes a runtime panic if written to. var m map[string]...
import fmt people := map[string]int{ "john": 30, "jane": 29, "mark": 11, } for key, value := range people { fmt.Println("Name:", key, "Age:", value) } Note that when iterating over a map with a range loop, the iteration order i...
people := map[string]int{ "john": 30, "jane": 29, "mark": 11, } for key, _ := range people { fmt.Println("Name:", key) } If you are just looking for the keys, since they are the first value, you can simply drop the underscore: for key := r...
The delete built-in function removes the element with the specified key from a map. people := map[string]int{"john": 30, "jane": 29} fmt.Println(people) // map[john:30 jane:29] delete(people, "john") fmt.Println(people) // map[jane:29] If the map is nil or ther...
Go programs end when the main function ends, therefore it is common practice to wait for all goroutines to finish. A common solution for this is to use a sync.WaitGroup object. package main import ( "fmt" "sync" ) var wg sync.WaitGroup // 1 func routine(i int...
slice = append(slice, "hello", "world")
You shouldn't call NSLog without a literal format string like this: NSLog(variable); // Dangerous code! If the variable is not an NSString, the program will crash, because NSLog expects an NSString. If the variable is an NSString, it will work unless your string contains a %. NSLog will pars...

Page 77 of 1099