پرش به محتوا
Home » چطور در سالیدیتی شماره اسلات متغیر را بدست بیاوریم؟

چطور در سالیدیتی شماره اسلات متغیر را بدست بیاوریم؟

شاید در بعضی مواقع نیاز داشته باشیم که شماره اسلات متغیری را بدانیم. با یک مثال ساده این کار را انجام می دهیم.

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.8.0 <0.9.0;

contract SlotLocation{
    uint256 private fourth;
    uint256 private third;
    uint256 private second; 
    uint256 private first;

    function storageLocation() external pure returns(uint256,uint256) {
        uint256 first_slotLocation;
        uint256 fourth_slotLocation;

        assembly {
            first_slotLocation := first.slot
            fourth_slotLocation := fourth.slot
        }

        return (first_slotLocation,fourth_slotLocation);
    }
}
Solidity

و همانطور که انتظار داریم با نتیجه زیر مواجه می شویم:

    • 0:uint256: 3
    • 1:uint256: 0

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *