linux:rust

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
linux:rust [2021/02/14 12:30] kurt.smolderen@empuly.netlinux:rust [2021/02/14 13:05] (current) kurt.smolderen@empuly.net
Line 9: Line 9:
  
   * Scalar types:   * Scalar types:
-      * Integer: Internally represented in 2-components notation when signed (-(2<sup>n</sup>   → 2<sup>n</sup>   -1)+      * Integer: Internally represented in 2-components notation when signed (-(2<sup>n</sup>   -> 2<sup>n</sup>   -1)
  
 ^Length^Signed^Unsigned| ^Length^Signed^Unsigned|
Line 25: Line 25:
   * Tuple: Fixed size (defined at declaration), elements may differ in type   * Tuple: Fixed size (defined at declaration), elements may differ in type
       * ''let tup: (i32, f64, u8) = (500, 6.4, 1);''       * ''let tup: (i32, f64, u8) = (500, 6.4, 1);''
-      * Values can be retrieved by either pattern matching: ''let (x, y, z) = tup; %%//%% x, y and z are now accessible as variables'' or by using a period ''let x = tup.0;''+      * Values can be retrieved by either pattern matching: ''let (x, y, z) = tup; %%//%% x, y and z are now accessible as variables''  or by using a period ''let x = tup.0;''
       * Array: Fixed size, elements should be of the same type       * Array: Fixed size, elements should be of the same type
       * ''let a = [1, 2, 3];''       * ''let a = [1, 2, 3];''
Line 35: Line 35:
  
 ===== Variables ===== ===== Variables =====
-  * ''let foo = bar;'': Creates immutable variable ''foo'' and assigns it value ''bar''. 
-  * ''let mut foo = bar;'': Creates mutable variable ''foo'' and assigns it value ''bar''. 
-  * ''let foo: type = false;'': Creates immutable variable ''foo%'' with explicit type definition. 
  
 +  * ''let foo = bar;'': Creates immutable variable ''foo''  and assigns it value ''bar''.
 +  * ''let mut foo = bar;'': Creates mutable variable ''foo''  and assigns it value ''bar''.
 +  * ''let foo: type = false;'': Creates immutable variable ''foo%''  with explicit type definition.
 ===== Functions ===== ===== Functions =====
 +
   * ''fn function_name() { … }''   * ''fn function_name() { … }''
   * ''fn function_name(x: i32, y: char) { … }'': Parameterized function   * ''fn function_name(x: i32, y: char) { … }'': Parameterized function
   * ''fn function_name(x: i32) → i32 { … }'': Function with return value. Returned value is last evaluated expression of the function body.   * ''fn function_name(x: i32) → i32 { … }'': Function with return value. Returned value is last evaluated expression of the function body.
- 
 ===== Terminology ===== ===== Terminology =====
-  * Associated function: function implemented on a type rather than on a particular instance of the type. Similar as a //static method// in Java.+ 
 +  * Associated function: function implemented on a type rather than on a particular instance of the type. Similar as a //static method//  in Java.
   * Destructing: splitting a tuple in individual parts by pattern matching   * Destructing: splitting a tuple in individual parts by pattern matching
   * Expression: instructions that evaluate to a resulting value. No semicolon at end of line!   * Expression: instructions that evaluate to a resulting value. No semicolon at end of line!
Line 54: Line 55:
  
 ===== Syntax ===== ===== Syntax =====
-  * ''&var'': Passes ''var'' as a reference. Allows a function to access a variable without the need to copy it to the function's stack. + 
-  * ''&mut var'': Passes ''var'' as a mutable reference. Allows a function to access and alter the variable's value.+  * ''&var'': Passes ''var''  as a reference. Allows a function to access a variable without the need to copy it to the function's stack. 
 +  * ''&mut var'': Passes ''var''  as a mutable reference. Allows a function to access and alter the variable's value. 
 + 
  • linux/rust.1613302239.txt.gz
  • Last modified: 2021/02/14 12:30
  • by kurt.smolderen@empuly.net