diff options
Diffstat (limited to 'documentation/tour/literals.sloth')
| -rw-r--r-- | documentation/tour/literals.sloth | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/documentation/tour/literals.sloth b/documentation/tour/literals.sloth deleted file mode 100644 index 53e29cd..0000000 --- a/documentation/tour/literals.sloth +++ /dev/null @@ -1,79 +0,0 @@ -# Literals -val number = 85; #TODO: Decide on default integer type -val number = 85.0; # f64 is the default decimal type - -val number: u16 = 27; # If you want more control over memory usage you can specify a integer type -val number: u16 = 27u16; -val number: u16 = 0x1B; -val number: u16 = 0x1Bu16; - -val number: BigInt = BigInt::from(73); #TODO: naming -val number: BigFloat = BigFloat::from(73); #TODO: naming - -val chars: char = ' '; - -val strings: String = "Normal string"; -val strings: String = "Formated strings ${number}"; -val strings: String = """String literals"""; - -val regex: Regex = /[0-9A-F]/; - -val list: List<i32> = [1, 2, 3, 2]; -val sets: Set<i32> = {1, 2, 3, 2}; - -val maps = { - "foo": 48, - "bar": 97, -}; - -val maps: Map<String, i32> = { - "foo": 48, - "bar": 97, -}; - -# Types can be 'any' and be assigned to anything -var anything: any = "I'm a string right now"; -anything = 53; -anything = "I was a number- but now I'm a string again"; - -# You can use the `is` keyword to check if a type is something -if anything is String { - # Now I can call functions that take a String - anything.split('-'); -} - -# TODO: HMMMMMMM- -if anything is Some(it) {} - -# You can use the `in` keyword to check if something is in a collection -if "hello" in ["hello", "hola"] { - # -} - -# ... or a range -if 5 in 2..17 { - # -} - -# ... or anything that implements Contains<T> -if 'p' in "Apple" {} # impl Contains<char> for String -if "ppl" in "Apple" {} # impl Contains<String> for String -if /[0-9]/ in "24" {} # impl Contains<Regex> for String - -# `value!` Can be used to bubble up an Option or Result -# `value!!` Can be used to panic on None or Error -# `value?` Can be used to optionally chain -# `value ?: 0` Can be used to provide a default - -maps["foo"] # Option<i32> -maps["foo"]!! # 48 - Panics in None case -maps["foo"]! # 48 - Caller of function is responsible for None case -maps["foo"]?.signum() ?? 0 # 1 - Provide a default for None case -maps.keys() # ["foo", "bar"] -maps.values() # [48, 97] - -# Spreading -val lhs = [1, 2, 3]; -val rhs = [4, 5, 6]; -val combined_list = [..lhs, ..rhs, 2, 4, 6]; -val combined_sets = {..lhs, ..rhs, 2, 4, 6}; |
