mirror of
https://github.com/Dummi26/mers.git
synced 2025-03-10 05:43:53 +01:00
fix examples
This commit is contained in:
parent
cd21c2171e
commit
11eee72a61
@ -1,3 +1,3 @@
|
||||
"What's you name?".println
|
||||
name := ().read_line.trim
|
||||
name := ().read_line.try((name) -> name.trim, () -> "<no name given>")
|
||||
("Hello, ", name, "!").concat.println
|
||||
|
@ -1,9 +1,12 @@
|
||||
total := 0.0
|
||||
loop {
|
||||
("Total: ", total, ". Type a number to change.").concat.println
|
||||
().read_line.trim.parse_float.try(
|
||||
(n) -> &total = (total, n).sum
|
||||
// not a number, so return a 1-tuple to break from the loop
|
||||
().read_line.try(
|
||||
(line) -> line.trim.parse_float.try(
|
||||
(n) -> &total = (total, n).sum
|
||||
() -> "Not a number".eprintln
|
||||
)
|
||||
// CTRL+D, so return a 1-tuple to break from the loop
|
||||
() -> (())
|
||||
)
|
||||
}
|
||||
|
@ -1,29 +1,37 @@
|
||||
"- Calculator -".println
|
||||
"Type =<num> to set the value to that number.".println
|
||||
"Type +<num>, -<num>, *<num> or /<num> to change the value.".println
|
||||
"Type exit to exit.".println
|
||||
"Type exit or press CTRL+D to exit.".println
|
||||
|
||||
current := 0.0
|
||||
|
||||
loop {
|
||||
("[ ", current, " ]").concat.println
|
||||
input := ().read_line.trim
|
||||
num := (input, 1).substring.trim.parse_float.try(
|
||||
(val) -> val
|
||||
() -> 0.0
|
||||
().read_line.try(
|
||||
(line) -> {
|
||||
input := line.trim
|
||||
num := (input, 1).substring.trim.parse_float.try(
|
||||
(val) -> val
|
||||
() -> 0.0
|
||||
)
|
||||
mode := input.substring(0, 1)
|
||||
if mode.eq("+") {
|
||||
¤t = (current, num).sum
|
||||
} else if mode.eq("-") {
|
||||
¤t = (current, (num, -1).product).sum
|
||||
} else if mode.eq("*") {
|
||||
¤t = (current, num).product
|
||||
} else if mode.eq("/") {
|
||||
¤t = (current, num).div
|
||||
} else if mode.eq("=") {
|
||||
¤t = num
|
||||
} else if input.eq("exit") {
|
||||
(())
|
||||
} else {
|
||||
"Expected one of +-*/= followed by a number".eprintln
|
||||
}
|
||||
}
|
||||
// CTRL+D
|
||||
() -> (())
|
||||
)
|
||||
mode := input.substring(0, 1)
|
||||
if mode.eq("+") {
|
||||
¤t = (current, num).sum
|
||||
} else if mode.eq("-") {
|
||||
¤t = (current, (num, -1).product).sum
|
||||
} else if mode.eq("*") {
|
||||
¤t = (current, num).product
|
||||
} else if mode.eq("/") {
|
||||
¤t = (current, num).div
|
||||
} else if mode.eq("=") {
|
||||
¤t = num
|
||||
} else if (input.eq("exit"), input.eq("")).any {
|
||||
(())
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ gcd := vals -> {
|
||||
|
||||
get_num := () -> {
|
||||
loop {
|
||||
line := ().read_line.trim
|
||||
line := ().read_line.try((line) -> line.trim, () -> "")
|
||||
line.parse_float.try(
|
||||
(n) -> (n)
|
||||
() -> ("Error: '", line, "' not a number!").concat.println
|
||||
|
@ -2,8 +2,8 @@ parse_matrix_line := input -> {
|
||||
vals := input.str_split(" ")
|
||||
vals_len := vals.len
|
||||
// reverse vals
|
||||
vals_rev := {() -> &vals.pop}.as_list
|
||||
nums := vals_rev.filter_map(v -> v.parse_float).as_list
|
||||
// vals_rev := {() -> &vals.pop}.as_list
|
||||
nums := vals.filter_map(v -> v.parse_float).as_list
|
||||
if nums.len.eq(vals_len)
|
||||
if nums.len.signum.eq(1)
|
||||
(nums)
|
||||
@ -12,7 +12,7 @@ parse_matrix_line := input -> {
|
||||
}
|
||||
|
||||
read_matrix_line := width -> {
|
||||
().read_line.trim.parse_matrix_line.try(
|
||||
().read_line.try((line) -> line.trim, () -> "").parse_matrix_line.try(
|
||||
(line) -> {
|
||||
line := [List<Float>] line
|
||||
w := width.deref
|
||||
@ -81,9 +81,7 @@ matrix_print := matrix -> {
|
||||
|
||||
fget := v -> v.get.try(
|
||||
() -> {
|
||||
"called fget but get returned ():".println
|
||||
v.println
|
||||
5.panic
|
||||
("called fget but get returned (): ", v).concat.panic
|
||||
}
|
||||
(v) -> v
|
||||
)
|
||||
|
@ -60,22 +60,27 @@ loop {
|
||||
().print_board
|
||||
loop {
|
||||
(if player c_blue else c_green, "> ", c_gray).concat.print
|
||||
input := ().read_line.trim
|
||||
input.parse_int.try(
|
||||
(field) -> {
|
||||
if (field.gt(0), field.ltoe(9)).all {
|
||||
(l, m, r) := if field.gt(6) (&f1, &f2, &f3) else if field.gt(3) (&f4, &f5, &f6) else (&f7, &f8, &f9)
|
||||
col := field.subtract(1).modulo(3)
|
||||
f := if col.eq(0) l else if col.eq(1) m else r
|
||||
if f.deref.eq(0) {
|
||||
f = if player 1 else -1
|
||||
(())
|
||||
} else "field already occupied".println
|
||||
} else {
|
||||
"number must be 1 <= n <= 9".println
|
||||
}
|
||||
().read_line.try(
|
||||
(line) -> {
|
||||
input := line.trim
|
||||
input.parse_int.try(
|
||||
(field) -> {
|
||||
if (field.gt(0), field.ltoe(9)).all {
|
||||
(l, m, r) := if field.gt(6) (&f1, &f2, &f3) else if field.gt(3) (&f4, &f5, &f6) else (&f7, &f8, &f9)
|
||||
col := field.subtract(1).modulo(3)
|
||||
f := if col.eq(0) l else if col.eq(1) m else r
|
||||
if f.deref.eq(0) {
|
||||
f = if player 1 else -1
|
||||
(())
|
||||
} else "field already occupied".println
|
||||
} else {
|
||||
"number must be 1 <= n <= 9".println
|
||||
}
|
||||
}
|
||||
() -> "not a number!".println
|
||||
)
|
||||
}
|
||||
() -> "not a number!".println
|
||||
() -> (())
|
||||
)
|
||||
}
|
||||
&player = player.eq(false)
|
||||
|
Loading…
Reference in New Issue
Block a user