予約概要
CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 53/53。
チャレンジ
難しいuint256型のcapacityとreservedを持つBooking構造体を定義します。最初の2つの入力を使用して、メモリ上のBookingを初期化します。requestedが残りの容量に収まるかどうかを判定する、内部のpureヘルパーを使用します。収まる場合は、requestedをreservedに加算します。判定結果、最終的なreservedの値、残りの容量を出力します。初期のreservedの値がcapacityを超えることはありません。
テストは次の順序でmainに引数を渡します:uint256 capacity、uint256 reserved、uint256 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プレイグラウンド