Una risposta dal Ethereum Stack Exchange:
Un library può essere utilizzato, ad esempio:
import "github.com/Arachnid/solidity-stringutils/strings.sol";
contract C {
using strings for *;
string public s;
function foo(string s1, string s2) {
s = s1.toSlice().concat(s2.toSlice());
}
}
Utilizzare il sopra per un quick test che è possibile modificare per le vostre esigenze.
Dal concatenating strings needs to be done manually for now, e di farlo in un contratto può consumare gas inutili (nuova stringa deve essere allocata e poi ogni personaggio scritto), vale la pena considerare che cosa è il caso d'uso che ha bisogno di concatenazione di stringhe?
Se il DApp può essere scritto in modo tale che il frontend concateni le stringhe e quindi lo passa al contratto per l'elaborazione, questo potrebbe essere un progetto migliore.
Oppure, se un contratto vuole hash una singola stringa lunga, si noti che tutte le funzioni built-in hashing a Solidità (sha256
, ripemd160
, sha3
) prendere un numero variabile di argomenti e si esibirà la concatenazione prima di calcolare l'hash .