Skip to content

Commit b0e2df9

Browse files
authored
Merge pull request #49 from javecs/feature/rename
コードを見直しました。
2 parents c517393 + afd0904 commit b0e2df9

1 file changed

Lines changed: 9 additions & 12 deletions

File tree

src/main/kotlin/xyz/javecs/tools/expr/Calculator.kt

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import kotlin.collections.HashMap
44

55
class Calculator(expressions: Array<String> = emptyArray()) : EvalContext {
66
private val evaluator = EvalVisitor(this)
7-
private val symbol: HashMap<String, Double> = HashMap()
8-
private val constant = constant()
9-
private val function = builtIn()
7+
private val variables = HashMap<String, Double>()
8+
private val constants = constant()
9+
private val functions = builtIn()
1010
private var expression = Expression()
1111
var value: Number = expression.value
1212
get() = expression.getValue()
@@ -30,22 +30,19 @@ class Calculator(expressions: Array<String> = emptyArray()) : EvalContext {
3030
}
3131

3232
fun clear() {
33-
symbol.clear()
33+
variables.clear()
3434
expression = Expression()
3535
}
3636

37-
override fun isConstant(name: String) = constant.contains(name.toLowerCase())
38-
override fun get(name: String) = constant.getOrDefault(name.toLowerCase(), symbol.getOrDefault(name, Double.NaN))
37+
override fun toString() = expression.toString()
38+
override fun isConstant(name: String) = constants.contains(name.toLowerCase())
39+
override fun call(name: String, value: Double) = functions.getOrDefault(name.toLowerCase(), { Double.NaN })(value)
40+
override fun get(name: String) = constants.getOrDefault(name.toLowerCase(), variables.getOrDefault(name, Double.NaN))
3941
override fun put(name:String, value: Double) = when (isConstant(name)) {
4042
true -> Double.NaN
4143
else -> {
42-
symbol[name] = value
44+
variables[name] = value
4345
value
4446
}
4547
}
46-
override fun call(name: String, value: Double) = function.getOrDefault(name.toLowerCase(), { Double.NaN })(value)
47-
48-
override fun toString(): String {
49-
return expression.toString()
50-
}
5148
}

0 commit comments

Comments
 (0)