Pemanggilan Fungsi Pembantu
Termasuk bagian Dasar-Dasar dalam perjalanan Solidity di Coddy. Pelajaran 24 dari 53.
Satu helper dapat memanggil helper lain untuk membagi perhitungan menjadi beberapa langkah yang bermakna. Helper luar menggunakan nilai yang dikembalikan, lalu mengembalikan hasilnya sendiri. Fungsi internal dapat dipanggil langsung berdasarkan namanya dari fungsi lain dalam kontrak.
Definisikan helper ini di dalam kontrak:
function twice(uint256 n) internal pure returns (uint256) {
return n * 2;
}
function adjusted(uint256 n) internal pure returns (uint256) {
return twice(n) + 4;
}Gunakan di dalam fungsi main yang disediakan:
console.log(adjusted(6));memanggil adjusted dua kali, yang menghasilkan dua belas, lalu menambahkan empat. main hanya melihat hasil akhir enam belas. Pembagian ini menjaga aturan penggandaan berulang di satu tempat, sementara helper lain menjelaskan penyesuaian tambahan.
Helper internal dapat memanggil helper internal lain secara langsung dengan namanya.
Tantangan
MudahTulis helper internal murni doubleValue, yang mengembalikan n dikali dua, dan withBonus, yang mengembalikan doubleValue(n) ditambah lima. Cetak withBonus(points).
Pengujian memberikan argumen kepada main dengan urutan ini: uint256 points. Setiap pengujian dimulai dengan state kontrak yang baru.
Gunakan console.log untuk output yang diminta. Cetak hanya nilai yang diminta, satu per baris, tanpa label tambahan kecuali jika tugas memintanya.
Coba sendiri
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 points) external view {
// Tulis solusimu di sini.
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
2Variabel dan Tipe Data
Bilangan Bulat Tanpa Tandainput dan outputBilangan Bulat BertandaNilai Booleanstring dalam MemoriKartu Profil5Fungsi
Parameter FungsiMengembalikan NilaiFungsi MurniPemanggilan Fungsi PembantuPerhitungan yang Dapat Digunakan KembaliLatihan sendiri: Playground Solidity