TGViewer
DEV: Рубиновые тона DEV: Рубиновые тона @dev_in_ruby_colors · 3.28K subscribers
Post #363 800
Сегодня интересный вопрос разбирали в школе программирования: как именно размещаются по слотам переменные в случае наследования? Ответить на этот вопрос вам поможет вот такой пример кода:

//SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

contract Parent1 {
uint public parentInt1 = 45;
uint public parentInt2 = 55;

}


contract Parent2 is Parent1 {
uint public parentInt3 = 65;
uint public parentInt4 = 75;

}

contract Parent4 {
uint public parentInt5 = 100;
uint public parentInt6 = 101;

}

contract Parent3 is Parent4 {
uint public parentInt7 = 102;
uint public parentInt8 = 103;

}

contract Demo is Parent2, Parent3 {
uint public demoInt = 76;


function readSlot(uint _n) external view returns (uint data) {
assembly {
data := sload(_n)
}
}
}


Просто указывайте номера слотов и смотрите, что получается.
  • 👍 4
More from @dev_in_ruby_colors
  1. Oct 4, 2026В этом уроке по абстрактной алгебре говорим про ideals (идеалы), factor (quotient) rings и…
  2. Sep 28, 2026Github буйствует
  3. Sep 26, 2026В этом уроке по абстрактной алгебре говорим про области целостности, делители нуля, характ…
  4. Sep 22, 2026А тем временем сказ о ведьмаке, потерявшем память, уже доступен в виде аудиокниги. Целых 1…
  5. Sep 20, 2026В этом уроке по абстрактной алгебре продолжаем говорить о кольцах: в частности о subrings…
  6. Sep 17, 2026Сделал обзор актуальных библиотек JS для сбора данных, 10 штук бодрых решений на все случа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →