1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

all: use a !in b instead of !(a in b)

This commit is contained in:
yuyi
2020-04-26 12:39:23 +08:00
committed by GitHub
parent 2b4ac0e63a
commit 541b058e90
19 changed files with 70 additions and 70 deletions

View File

@ -7,7 +7,7 @@ const (
NUMERIC_CHAR = [`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`.`,`e`,`E`]
)
// Convert expression to Reverse Polish Notation.
// Convert expression to Reverse Polish Notation.
fn expr_to_rev_pol(expr string) ?[]string {
if expr == '' {
return error('err: empty expression')
@ -27,11 +27,11 @@ fn expr_to_rev_pol(expr string) ?[]string {
else if end_pos==pos {
op := expr[pos].str()
match op {
'(' {
'(' {
stack << op
}
'*', '/' {
for stack.len>0 && !(stack.last() in ['(', '+', '-']) {
for stack.len>0 && stack.last() !in ['(', '+', '-'] {
rev_pol << stack.last()
stack.delete(stack.len-1)
}
@ -60,7 +60,7 @@ fn expr_to_rev_pol(expr string) ?[]string {
}
for stack.len>0 {
top := stack.last()
rev_pol << top
rev_pol << top
stack.delete(stack.len-1)
}
return rev_pol
@ -83,7 +83,7 @@ fn eval_rev_pol(rev_pol []string) ?f64 {
'+' { stack << oprand_l+oprand_r }
'-' { stack << oprand_l-oprand_r }
'*' { stack << oprand_l*oprand_r }
'/' {
'/' {
if oprand_r == 0 {
return error('err: divide by zero')
}
@ -102,7 +102,7 @@ fn eval_rev_pol(rev_pol []string) ?f64 {
fn is_num_string(str string) bool {
for c in str {
if !(c in NUMERIC_CHAR) {
if c !in NUMERIC_CHAR {
return false
}
}
@ -125,10 +125,10 @@ fn main() {
eprintln(err)
continue
}
res := eval_rev_pol(rev_pol) or {
res := eval_rev_pol(rev_pol) or {
eprintln(err)
continue
}
println(res)
}
}
}