预订摘要
本课属于 Coddy Solidity 学习旅程的“基础知识”单元。第 53 课,共 53 课。
挑战
困难定义 struct Booking,其中包含 uint256 capacity 和 uint256 reserved。使用前两个输入初始化一个 memory Booking。使用 internal pure 辅助函数判断 requested 是否能放入剩余容量。如果可以,就将 requested 加到 reserved 上。输出判断结果、最终的 reserved 数量和剩余容量。初始 reserved 数量不会超过 capacity。
测试会按以下顺序向 main 传入参数:uint256 capacity、uint256 reserved、uint256 requested。每个测试都会从全新的合约状态开始。
使用 console.log 输出要求的内容。只输出要求的值,每行一个,不要添加额外标签,除非任务有要求。
亲手试试
// 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 在线编辑器