Lời gọi hàm hỗ trợ
Thuộc phần Nền tảng cơ bản trong hành trình Solidity của Coddy. Bài học 24 trên 53.
Một hàm trợ giúp có thể gọi một hàm trợ giúp khác để chia phép tính thành các bước có ý nghĩa. Hàm trợ giúp bên ngoài sử dụng giá trị trả về, rồi trả về kết quả của chính nó. Bạn có thể gọi trực tiếp một hàm nội bộ bằng tên hàm đó từ một hàm khác trong hợp đồng.
Định nghĩa hàm trợ giúp này bên trong hợp đồng:
function twice(uint256 n) internal pure returns (uint256) {
return n * 2;
}
function adjusted(uint256 n) internal pure returns (uint256) {
return twice(n) + 4;
}Sử dụng hàm này bên trong hàm main đã cho:
console.log(adjusted(6));hàm adjusted được gọi hai lần, trả về mười hai, rồi cộng thêm bốn. hàm main chỉ thấy kết quả cuối cùng là mười sáu. Cách chia này giữ quy tắc nhân đôi lặp lại ở một chỗ, còn một hàm trợ giúp khác mô tả phần điều chỉnh bổ sung.
Một hàm trợ giúp nội bộ có thể gọi trực tiếp một hàm trợ giúp nội bộ khác bằng tên.
Thử thách
DễViết hai hàm hỗ trợ thuần nội bộ doubleValue, trả về n nhân hai, và withBonus, trả về doubleValue(n) cộng năm. In ra withBonus(points).
Các bài kiểm tra truyền đối số vào main theo thứ tự này: uint256 points. Mỗi bài kiểm tra bắt đầu với trạng thái hợp đồng mới.
Dùng console.log cho đầu ra được yêu cầu. Chỉ in các giá trị được yêu cầu, mỗi giá trị trên một dòng, không thêm nhãn trừ khi đề bài yêu cầu.
Tự làm thử
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 points) external view {
// Viết lời giải của bạn ở đây.
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Nền tảng cơ bản
Tự luyện tập: Playground Solidity