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



Download 9,22 Mb.
Pdf ko'rish
bet34/47
Sana26.02.2022
Hajmi9,22 Mb.
#472912
1   ...   30   31   32   33   34   35   36   37   ...   47
Bog'liq
Прасти Н. - Блокчейн. Разработка приложений - 2018


Глава 3 
____________________________________ 
[ 88 ] 
___________________________________ 
библиотеки могут быть использованы для добавления функций принадлежности 
к типам данных. 
Конструкция 
using ... for ...
Конструкцию 
using ... for
... 
можно использовать для подключения библиотеч-
ных функций (из библиотеки A к любому типу B). Эти функции будут получать 
объект, который их вызвал, в качестве своего первого параметра. 
Результатом работы команды вида 
using A for *;
будет присоединение функций из 
библиотеки A ко всем типам. 
В листинге 3.14 приведен пример использования конструкции 
using ... for
...
Листинг 3.14. Пример использования конструкции 
using … for …
library math 

struct myStruct1 { 
int 
a; 

struct myStruct2 { 
int 
a; 

//Здесь мы должны обратиться к хранилищу s, чтобы получить ссылку, 
//в противном случае addInt будет обращаться не к тому
//экземпляру myStruct1, который его вызывает 
function addInt(myStruct1 storage s, int b) returns (int c) 

return 
s.a 

b; 

function subInt(myStruct2 storage s, int b) returns (int c) 

return 
s.a 

b; 


contract sample 

//"*" присоединяет функции библиотеки ко всем структурам 
using math for *; 
math.myStruct1 
s1; 
math.myStruct2 
s2; 


Разработка 
смарт-контрактов 
____________________________________ 
[ 89 ] 
___________________________________ 
function 
sample() 

s1 

math.myStruct1(9); 
s2 

math.myStruct2(9); 
s1.addInt(2); 
//ошибка компиляции, потому что функция addInt
//не подключена к myStruct2 
s2.addInt(1); 


Возврат нескольких значений 
Solidity позволяет функциям возвращать несколько значений. Вот небольшой при-
мер, который это демонстрирует: 
contract sample 

function a() returns (int a, string c) 

return (1, "ss"); 

function b() 

int A; 
string memory B; 
//A получит 1 и B получит "ss" 
(A, B) = a(); 
//A получит 1 
(A,) = a(); 
//B получит "ss" 
(, B) = a(); 


Импорт файлов исходных кодов Solidity 
Solidity позволяет импортировать в исходный код содержимое других файлов с ис-
ходным кодом. Вот короткий пример, который демонстрирует эту возможность: 
//Этот оператор импортирует все глобальные символы из "filename"
//(и символы, импортированные там) в текущую глобальную область. 


Download 9,22 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   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