Else Ifチェーン
CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 19/53。
選択肢が3つ以上ある場合は、else ifチェーンを使用します。条件は上から下へテストされます。最初に一致した分岐が実行され、そのチェーン内の残りの分岐はスキップされます。
この抜粋のステートメントは、提供されたmain関数内で実行されます。
uint256 size = 14;
if (size < 10) {
console.log("small");
} else if (size < 20) {
console.log("medium");
} else {
console.log("large");
}Fourteen は最初のチェックには失敗し、2 番目のチェックには成功します。2 番目の分岐では、そこに到達したということは先ほどの条件が偽だったため、size が少なくとも ten であることをすでに把握しています。先にある広い条件が後のケースを隠してしまわないように、範囲を並べ替えましょう。
else-if チェーンは、最初に一致した分岐の後で停止します。
チャレンジ
簡単points を分類します。40 未満の場合は bronze、40 以上 79 以下の場合は silver、80 以上の場合は gold を出力します。
テストは次の順序で main に引数を渡します:uint256 points。各テストは新しいコントラクト状態で開始されます。
要求された出力には console.log を使用してください。要求された値のみを 1 行に 1 つずつ出力し、タスクで指定されていない限り、余分なラベルは付けないでください。
自分で試してみよう
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 points) external view {
// ここに解答を書いてください。
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Solidityプレイグラウンド