You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Halo, saya mencoba kode sub bab Associated Functions di bab Struct.
implPeople{fncount_income(d:i32,i:i32) -> People{People{days: d,income: i }}}fnmain(){let show = People::count_income(30,3000);println!("{:#?}", show);}
Saat saya menjalankan kode di atas tidak berhasil karena modul People tidak dideklarasikan. Berikut screenshotnya.
Saya mencoba mendeklarasikan struct People sebelum kode impl People seperti di bawah ini.
structPeople;implPeople{fncount_income(d:i32,i:i32) -> People{People{days: d,income: i }}}fnmain(){let show = People::count_income(30,3000);println!("{:#?}", show);}
Namun, saat saya jalankan tidak berhasil karena People tidak memiliki field days dan income. Berikut screenshotnya.
Kemudian, saya coba menambahkan field days dan income di struct People kode masih tidak bisa dijalankan karena masalah formatting.
structPeople{days:i32,income:i32}implPeople{fncount_income(d:i32,i:i32) -> People{People{days: d,income: i }}}fnmain(){let show = People::count_income(30,3000);println!("{:#?}", show);}
Akhirnya, saya coba tambahkan #[derive(Debug)] di atas struct People barulah berjalan sesuai dengan ekspektasi.
#[derive(Debug)]structPeople{days:i32,income:i32}implPeople{fncount_income(d:i32,i:i32) -> People{People{days: d,income: i }}}fnmain(){let show = People::count_income(30,3000);println!("{:#?}", show);}
Saya penasaran mengapa saya harus mendefinisikan struct People lagi? Padahal di dalam impl People sudah mendefinisikan struct People secara tidak langsung.
Sebelumnya thanks udah buat issue mas @satyakresna 🙏
Oke, bantu jawab nih.
struct bisa dibilang custom struktur data, yang isinnya bisa ada macem2, bisa integer, dan string di dalamnya. impl itu sebuah blok implementasi yang terasosiasi dengan tipe data tertentu, karna implement sangat bergantung dengan tipe data, jadinya butuh untuk membuat struct dulu, agar bisa menggunakan impl.
Di bagian contoh kode sub bab Associated functions tidak memuat struct People yang menyebabkan saya menemukan error tersebut. Tetapi, langkah-langkah yang saya lakukan di atas agar kode berhasil berjalan apakah sudah benar ya? Supaya saya bisa bantu kontribusi perbaiki dokumentasinya.
Halo, saya mencoba kode sub bab Associated Functions di bab Struct.
Saat saya menjalankan kode di atas tidak berhasil karena modul
People
tidak dideklarasikan. Berikut screenshotnya.Saya mencoba mendeklarasikan
struct People
sebelum kodeimpl
People seperti di bawah ini.Namun, saat saya jalankan tidak berhasil karena
People
tidak memiliki fielddays
danincome
. Berikut screenshotnya.Kemudian, saya coba menambahkan field
days
danincome
distruct People
kode masih tidak bisa dijalankan karena masalah formatting.Akhirnya, saya coba tambahkan
#[derive(Debug)]
di atasstruct People
barulah berjalan sesuai dengan ekspektasi.Saya penasaran mengapa saya harus mendefinisikan
struct People
lagi? Padahal di dalamimpl People
sudah mendefinisikanstruct People
secara tidak langsung.Cc mas @adiatma, @ri7nz, @kevanantha
Terima kasih.
The text was updated successfully, but these errors were encountered: