Menu
Coddy logo textTech

在庫トラッカー

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

challenge icon

チャレンジ

難しい

アイテム ID から在庫数へのマッピングを維持します。firstIdfirstQty を、secondIdsecondQty を加算し、その後 firstId の在庫から used を減算します。firstId の最終的な在庫を出力し、次に secondId の在庫を出力します。ID は等しい場合があります。used が、両方の加算後に firstId で利用可能な在庫を超えることはありません。

テストでは、次の順序で引数を main に渡します。uint256 firstIduint256 firstQtyuint256 secondIduint256 secondQtyuint256 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プレイグラウンド