title | actions | material | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Çoklu Değişken Getirme Kullanımı |
|
|
Bu getKitty
fonksiyonu çoklu değişkenlerin getirilmesini gördüğümüz ilk örnek. Nasıl kullanıldığına bir bakalım:
function multipleReturns() internal returns(uint a, uint b, uint c) {
return (1, 2, 3);
}
function processMultipleReturns() external {
uint a;
uint b;
uint c;
// This is how you do multiple assignment:
(a, b, c) = multipleReturns();
}
// Or if we only cared about one of the values:
function getLastReturnValue() external {
uint c;
// We can just leave the other fields blank:
(,,c) = multipleReturns();
}
CryptoKitties kontrat ile etkileşim zamanı!
Kontrattan kitty genlerini alan bir fonksiyon yapalım:
-
feedOnKitty
denilen bir fonksiyon yapın. 2uint
parametresi alacak,_zombieId
ve_kittyId
ve birpublic
fonksiyon olması lazım. -
Fonksiyon ilk olarak
kittyDna
isimli biruint
ifade etmeli.
Dikkat:
KittyInterface
'mizde,genes
biruint256
'dir — fakat ders 1'de hatırlarsanız,uint
uint256
için bir takma isimdir — onlar aynı şeydir.
-
Fonksiyon daha sonra
_kittyId
ilekittyContract.getKitty
fonksiyonunu çağırmalı vegenes
ikittyDna
'da depolamalı. Hatırlayın —getKitty
defalarca değişken getirir. (Tam olarak 10 — İyiyim, senin için saydım!). Fakat önemsediğimiz sonuncusu,genes
. Virgüllerini dikkatli say! -
Son olarak, fonksiyon
feedAndMultiply
'i çağırmalı ve_zombieId
vekittyDna
nın ikisine de geçmeli.