From 62995df504a73b9b6c00604199eed9926d1d6679 Mon Sep 17 00:00:00 2001 From: prod2 <95874442+prod2@users.noreply.github.com> Date: Sun, 6 Feb 2022 01:02:22 +0100 Subject: [PATCH] fix string concat --- src/ndspkg/types/ndstring.nim | 3 ++- src/ndspkg/types/value.nim | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ndspkg/types/ndstring.nim b/src/ndspkg/types/ndstring.nim index b24452a..af06009 100644 --- a/src/ndspkg/types/ndstring.nim +++ b/src/ndspkg/types/ndstring.nim @@ -89,7 +89,8 @@ proc `$`*(ndStr: NdString): string = proc `&`*(left, right: NdString): NdString = # TODO optimize this later when strings will be benchmarked - newString($left & $right) + let combined: string = $left & $right + newString(combined) proc getLength*(ndStr: NdString): int = ndStr.len.int diff --git a/src/ndspkg/types/value.nim b/src/ndspkg/types/value.nim index 50cf1ff..44d5030 100644 --- a/src/ndspkg/types/value.nim +++ b/src/ndspkg/types/value.nim @@ -207,7 +207,7 @@ proc add*(val: var NdValue, right: NdValue): NatReturn {.inline.} = if val.isFloat() and right.isFloat(): val = fromFloat(val.asFloat() + right.asFloat()) elif val.isString() and right.isString(): - val = fromNdString(val.asString() & val.asString()) + val = fromNdString(val.asString() & right.asString()) else: return natError(&"Attempt to add types {val.friendlyType()} and {right.friendlyType()}.") return natOk