Нараян Прасти



Download 9,22 Mb.
Pdf ko'rish
bet28/47
Sana26.02.2022
Hajmi9,22 Mb.
#472912
1   ...   24   25   26   27   28   29   30   31   ...   47
Bog'liq
Прасти Н. - Блокчейн. Разработка приложений - 2018


Глава 3 
____________________________________ 
[ 76 ] 
___________________________________ 
while(temp 

20) 

if(temp 
== 
17) 

break; 

else 

continue; 

temp++; 

for(var iii = 0; iii < b.length; iii++) 

//операторы 
цикла 
for 



Оператор 
new
и создание контракта 
Контракт может создать новый контракт при помощи оператора 
new
. Должен быть 
известен полный код создаваемого контракта. 
Далее приведен пример создания контракта. Мы не станем выделять этот простой 
пример в отдельный листинг. 
contract sample1 

int 
a; 
function 
assign(int 
b) 



b; 


contract sample2{ 
function 
sample2() 

sample1 


new 
sample1(); 
s.assign(12); 




Разработка 
смарт-контрактов 
____________________________________ 
[ 77 ] 
___________________________________ 
Исключения 
В некоторых случаях исключения генерируются автоматически. Вы можете ис-
пользовать оператор 
throw
, чтобы принудительно вбросить исключение. Действие 
исключения состоит в том, что выполнение всех текущих вызовов прекращается
и ревертируется (возвращается к исходному состоянию, какие-либо изменения
баланса и статуса счета не происходят). Перехват исключений невозможен. Так
выглядит пример принудительного вброса исключения: 
contract sample 

function myFunction() 

throw; 


Вызов внешних функций 
В Solidity существуют два вида вызова функций: внутренний и внешний. Внутрен-
ний вызов происходит, когда одна функция вызывает другую функцию внутри того 
же самого контракта. 
При внешнем вызове происходит вызов функции другого контракта. Давайте рас-
смотрим пример, приведенный в листинге 3.9. 
Листинг 3.9. Пример вызова внешней функции 
contract sample1 

int 
a; 
//"payable" - это встроенный модификатор 
//этот модификатор требуется, если другой контракт отправляет эфир, 
//когда вызывает метод 
function sample1(int b) payable 



b; 

function 
assign(int 
c) 



c; 



Download 9,22 Mb.

Do'stlaringiz bilan baham:
1   ...   24   25   26   27   28   29   30   31   ...   47




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish