elvish_config/lib/moi/util/common.elv

43 lines
682 B
Plaintext

edit:add-var ++~ [n]{ + $n 1 }
edit:add-var --~ [n]{ + $n 1 }
edit:add-var sign~ [n]{
if (> $n 0) {
put 1
} elif (< $n 0) {
put -1
} else {
put 0
}
}
edit:add-var neg~ [n]{ * $n -1 }
edit:add-var abs~ [n]{
if (< $n 0) {
neg $n
} else {
put $n
}
}
edit:add-var sum~ [@numbers]{
var s = 0
each [e]{ set s = (+ $s e) } (to-list $numbers)
}
fn -minmax [t @numbers]{
var l = (to-list $@numbers)
if (== (count $l) 0) {
return
}
var m = $l[0]
each [n]{
if ($t $n $m) {
set m = $n
}
} $l[1..]
put $m
}
edit:add-var min~ [@numbers]{ -minmax $'<~' $@numbers }
edit:add-var max~ [@numbers]{ -minmax $'>~' $@numbers }