Size: a a a

2021 July 15

MD

Microwave Dev in Ethereum Russia
если ты b переменную уберёшь - то наверное заработает
источник

Q

Qox in Ethereum Russia
function sqrt(uint y) internal pure returns (uint z) {
       if (y > 3) {
           z = y;
           uint x = y / 2 + 1;
           while (x < z) {
               z = x;
               x = (y / x + x) / 2;
           }
       } else if (y != 0) {
           z = 1;
       }
   }
источник

MD

Microwave Dev in Ethereum Russia
да пофигу на код
источник

MD

Microwave Dev in Ethereum Russia
у тебя один аргумент
источник

MD

Microwave Dev in Ethereum Russia
знаешь что такое аргументы?)
источник

Q

Qox in Ethereum Russia
ну так один аргумент sqrt(x) возвращает число
источник

MD

Microwave Dev in Ethereum Russia
источник

Q

Qox in Ethereum Russia
если я просто пишу unit x = sqrt(y), допустим, это неправильный синтаксис? Я не понимаю, сорян, почему два аргумента должно быть, если у функции sqrt на вход один аргумент и один на выход
источник

A

Arseniy | @freeatnet in Ethereum Russia
@MicrowaveDev @qooox Я правильно понимаю, что при использовании using SafeMath for uint256, методы из SafeMath добавляются к инстансам uint256, а сам инстанс становится первым аргументом к функциям SafeMath, как self в Python?

_edit:_ загуглил, подтвердил: https://ethereum.stackexchange.com/a/25831 и спасибо @MicrowaveDev
источник

MD

Microwave Dev in Ethereum Russia
дааа
источник

MD

Microwave Dev in Ethereum Russia
я же говорю, посмотри на рабочие примеры, вместо своего не рабочего
источник

MD

Microwave Dev in Ethereum Russia
не зацикливайся на своём корне если хочешь понять как using работает
источник

A

Arseniy | @freeatnet in Ethereum Russia
А если не использовать using SafeMath for uint256, то можно вызвать функцию как SafeMath.div(a, b)
источник

MD

Microwave Dev in Ethereum Russia
да
источник

MD

Microwave Dev in Ethereum Russia
в примере корня скорее всего a.sqrt() - так будет работать, хз
источник

MD

Microwave Dev in Ethereum Russia
ну и если быть совсем точным, то настоящим инстансом первый аргумент становится, когда он с модификатором storage
источник

Q

Qox in Ethereum Russia
а, окей, то есть не
uint x = sqrt(y)

а

uint x = y.sqrt()

?
источник

MD

Microwave Dev in Ethereum Russia
да, скорее всего так, пробуй
источник

Q

Qox in Ethereum Russia
спасибо
источник

A

Arseniy | @freeatnet in Ethereum Russia
Интересное замечание, спасибо!
источник