Browse Source

Add reverse function to stdlib

github-actions
Garrit Franke 3 years ago
parent
commit
e20f6b69a4
  1. 6
      examples/playground.sb
  2. 18
      lib/stdio.sb
  3. 14
      src/parser/tests.rs

6
examples/playground.sb

@ -1,5 +1,5 @@
fn main() {
let x = 10
x = 5
println("Hello World!")
let arr = [1, 2, 3, 4, 5]
println(rev(arr))
}

18
lib/stdio.sb

@ -17,4 +17,22 @@ fn len(arr) {
}
return c
}
// Reverses an array
// TODO: fix me!
fn rev(arr) {
let l = len(arr)
let new_arr = []
let i = 0
let j = l
while i < l {
new_arr[i] = arr[j]
i = i - 1
j = j - 1
}
return new_arr
}

14
src/parser/tests.rs

@ -554,3 +554,17 @@ fn test_function_multiple_args() {
let tree = parse(tokens, Some(raw.to_string()));
assert!(tree.is_ok())
}
#[test]
#[ignore]
fn test_array_position_assignment() {
let raw = "
fn main() {
new_arr[i] = arr[j]
}
}
";
let tokens = tokenize(raw);
let tree = parse(tokens, Some(raw.to_string()));
assert!(tree.is_ok())
}

Loading…
Cancel
Save