Refactor Value and EvaluatorOutput models in order to get rid of optionals(?)

This commit is contained in:
2020-03-14 13:25:42 +01:00
parent d8744670ed
commit 5b03f55cd4
30 changed files with 60 additions and 78 deletions

View File

@@ -9,7 +9,7 @@ import io.smnp.type.model.Value
class PrintlnFunction : Function("println") {
override fun define(new: FunctionDefinitionTool) {
new function vararg(allTypes()) body { _, (vararg) ->
println((vararg.value!! as List<Value>).joinToString("") { it.stringify() })
println((vararg.value as List<Value>).joinToString("") { it.stringify() })
Value.void()
}
}

View File

@@ -11,7 +11,7 @@ import io.smnp.type.model.Value
class ReadFunction : Function("read") {
override fun define(new: FunctionDefinitionTool) {
new function simple(optional(ofType(STRING))) body { _, arguments ->
arguments.getOrNull(0)?.let { print(it.value!!) }
arguments.getOrNull(0)?.let { print(it.value) }
Value.string(readLine() ?: "")
}
}