在庫トラッカー
CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 51/53。
チャレンジ
難しいアイテム ID から在庫数へのマッピングを維持します。firstId に firstQty を、secondId に secondQty を加算し、その後 firstId の在庫から used を減算します。firstId の最終的な在庫を出力し、次に secondId の在庫を出力します。ID は等しい場合があります。used が、両方の加算後に firstId で利用可能な在庫を超えることはありません。
テストでは、次の順序で引数を main に渡します。uint256 firstId、uint256 firstQty、uint256 secondId、uint256 secondQty、uint256 used。各テストは新しいコントラクト状態から開始します。
要求された出力には console.log を使用します。要求された値のみを、1 行に 1 つずつ出力し、タスクで指定されていない限り、追加のラベルは付けません。
自分で試してみよう
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 firstId, uint256 firstQty, uint256 secondId, uint256 secondQty, uint256 used) external {
// ここに解答を書いてください。
}
}基礎のすべてのレッスン
自分で練習してみよう: Solidityプレイグラウンド