Menu
Coddy logo textTech

定数

CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 29/53。

コンパイル時に固定される値には、コントラクトレベルのconstantを使用します。宣言時にその値を指定します。constantは再代入できません。固定の変換係数や、複数の関数で共有する安定したルールに便利です。

これをコントラクトスコープで宣言します。

uint256 constant HOURS_PER_DAY = 24;

提供されているmain関数内で使用します。

uint256 daysCount = 3;
console.log(daysCount * HOURS_PER_DAY);

HOURS_PER_DAY は 24 に固定されているため、3 日には 72 時間が含まれます。通常の状態初期化とは異なり、定数はその使用箇所にコンパイル時に埋め込まれます。定数に大文字の名前を付けるのは一般的な慣例であり、コンパイラの要件ではありません。

定数は宣言時に初期化され、再代入することはできません。

challenge icon

チャレンジ

簡単

60 と等しい uint256 定数 MINUTES_PER_HOUR を宣言してください。その定数に hoursCount を掛けた値を出力してください。

テストは、次の順序で main に引数を渡します:uint256 hoursCount。各テストは新しいコントラクト状態から開始します。

要求された出力には console.log を使用してください。要求された値のみを、1 行に 1 つずつ出力し、タスクで指定されていない限り、追加のラベルは付けないでください。

自分で試してみよう

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 hoursCount) external view {
        // ここに解答を書いてください。
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Solidityプレイグラウンド