Menu
Coddy logo textTech

予約概要

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

challenge icon

チャレンジ

難しい

uint256型のcapacityreservedを持つBooking構造体を定義します。最初の2つの入力を使用して、メモリ上のBookingを初期化します。requestedが残りの容量に収まるかどうかを判定する、内部のpureヘルパーを使用します。収まる場合は、requestedreservedに加算します。判定結果、最終的なreservedの値、残りの容量を出力します。初期のreservedの値がcapacityを超えることはありません。

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

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

自分で試してみよう

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

基礎のすべてのレッスン

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