Ethereum
solidity

【初心者でもできる!】Solidityの文字列結合とRemix-Solidityの使い方

「Solidityで文字列結合ができない!?」
と、悩まれる方多いのではないでしょうか?

ライブラリを使用することで、初心者でも簡単に文字列結合をすることができます。
日本語の記事が無かったので書いてみようと思いました。

英語ですが、下記のページに詳細が書いてあります。
https://github.com/Arachnid/solidity-stringutils

では早速見てみましょう。
3つの文字列を結合するサンプルです。

sample.sol
import "github.com/Arachnid/solidity-stringutils/strings.sol";

contract Solidity {
  using strings for *;
  string public s;
  string public ss;

  function foo(string s1, string s2, string s3) {
    s = s1.toSlice().concat(s2.toSlice());
    ss = s.toSlice().concat(s3.toSlice());
  }
}

このコードを、統合開発環境のRemix-Solidityで試してみたいと思います。
ついでなので、丁寧にRemix-Solidityの使い方も画像と一緒に説明していきます。
Remix−Solidity

スクリーンショット 2018-01-11 20.25.23.png

上記のような画面になったと思います。
そしたら、右側のEnvironmentをJavaScript VMに変えます。

スクリーンショット 2018-01-11 20.28.33.png

そのあと、右側のCreateをクリックします。
スクリーンショット 2018-01-11 20.31.24.png

foo関数に結合したい文字を3つ入れます。
今回、"Hello ", "World ", "Solidity"といれてみます。

スクリーンショット 2018-01-11 20.35.06.png

結合できました!

参照元

https://github.com/Arachnid/solidity-stringutils
https://stackoverflow.com/questions/32157648/string-concatenation-in-solidity