メモリ上の文字列
CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 9/53。
string はテキストを保持します。ローカルの文字列変数にはデータの格納場所が必要なので、関数呼び出し中に一時的に使用するテキストには string memory と記述します。リテラルテキストは引用符で囲みます。string memory 型の引数を使って、関数が使用するテキストを渡すこともできます。
この抜粋のステートメントは、提供されている main 関数内で実行されます。
string memory label = "Workshop";
console.log(label);変数は一時的なテキストを指し、コンソールはその内容を出力します。memoryは、この呼び出しの間にデータが存在する場所を表します。これは変数名の一部ではありません。単一引用符と二重引用符のどちらでも通常の文字列リテラルを区切れますが、この説明では一貫して二重引用符を使用します。
関数内のローカルなテキスト変数には、文字列メモリを使用します。
チャレンジ
簡単指定されたtitleをcaptionという名前のローカル文字列にコピーし、その後出力してください。
テストは次の順序でmainに引数を渡します:string memory title。各テストは新しいコントラクト状態で開始されます。
要求された出力にはconsole.logを使用してください。要求された値のみを1行に1つずつ出力し、タスクで指定されていない限り、余分なラベルは付けないでください。
自分で試してみよう
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(string memory title) external view {
// ここに解答を書いてください。
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Solidityプレイグラウンド