TGViewer
Из Solidity в AI и дальше Из Solidity в AI и дальше @solidityset · 2.48K subscribers
Post #902 1.23K
Function pointer как аргумент

Для начала посмотрите на код ниже:

contract FunctionPointer {

function f1(uint256 x) internal pure returns(uint256) {
return x;
}

function f2(function(uint256) internal pure returns(uint256) a) internal pure returns(uint256) {
return a(27);
}

function f3() public pure returns(uint256) {
return f2(f1);
}

}

В Solidity вы можете создавать функции, которые будут принимать другие функции в качестве аргументов. Они называются function pointer.

В предыдущем примере у нас есть три функции. f1 - самая простая и возвращает то, что получает в аргументах.

f2 функция с function pointer a ожидает в качестве аргумента функцию со специальной сигнатурой.

В f3 мы вызываем функцию f2 и передаем функцию f1, как параметр. И в данном примере она просто вернет число 27.

Достаточно необычный и редкий формат функций в смарт контрактах. Даже в конкурсных аудитах за все время я встречал их один или два раза.

#function #pointer
  • 👍 3
  • 🔥 2
More from @solidityset
  1. Oct 2, 2026Вторая сложность — как доказать, что установилось именно опубликованное. В первом варианте…
  2. Oct 2, 2026Задача с полуоткрытым кодом На днях, в процессе создания одного приложения, столкнулся с и…
  3. Sep 22, 2026Какой язык программирования учить сейчас? На днях в Твиттере увидел небольшой пост о разви…
  4. Sep 18, 2026Интересная модель Jev Буквально пару дней назад в Твиттере многие начали обсуждение новой…
  5. Sep 14, 2026Графы повсюду Если вы также следите за новостями в мире ИИ, то наверняка уже все чаще встр…
  6. Sep 10, 2026GTA6, Cyberleek, блокчейн и безопасность Увидел несколько постов (тут и тут) про Cyberleek…
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 →