mirror of
https://codeberg.org/ProgramSnail/lang_2023.git
synced 2025-12-05 22:48:42 +00:00
30 lines
752 B
Text
30 lines
752 B
Text
|
|
decl test_arrays : Unit -> Unit
|
||
|
|
def test_arrays = {
|
||
|
|
var arr1 = [1, 2, 3]
|
||
|
|
const arr2 = [] // empty array ??
|
||
|
|
var arr3 = [] : Int.5 // TODO: decide ??
|
||
|
|
const arr4= ['a'..'z']
|
||
|
|
const n = 100;
|
||
|
|
var @arr5 = @[] : @Int.n // unique pointer (??)
|
||
|
|
|
||
|
|
var @@arr6 = @@[] : @@Int.n // shared pointer (??)
|
||
|
|
var @@arr6_pointer = @@arr6
|
||
|
|
|
||
|
|
const elem1 = arr1.1
|
||
|
|
var elem2 = arr1.1
|
||
|
|
const *ref1 = *arr1.1 // reference <-> unmanaged pointer (??)
|
||
|
|
var *ref2 = *arr1.1
|
||
|
|
; *arr1.1 = 123
|
||
|
|
|
||
|
|
; ref1 = arr1.2 // set value
|
||
|
|
; *ref1 = *ref2 // set reference
|
||
|
|
|
||
|
|
// ?? references, that can't change ??
|
||
|
|
|
||
|
|
// ?? array access, array mutable access, array get reference to elem ??
|
||
|
|
// ?? arrays as basic type ??
|
||
|
|
// ?? custom allocators ??
|
||
|
|
}
|
||
|
|
|
||
|
|
// ????????????????????
|