170 похожих чатов

Ребят, а как вернуть функцию отдельно от её аргументов? Ну

типа мне надо функция, которая принимает функцию с аргументами в возвращает просто функцию, точнее имя функции, но не строку, а именно имя функции, то есть саму функцию без аргументов и без вызова, не коллабэл.
Типа:
»»» func_return(print('ёпрст'))
print

Как бы вы реализовали функцию func_return?

35 ответов

18 просмотров

никак* * - кроме фокусов с аст

It's-Me Автор вопроса
Алиса Кассель-Королёва
никак* * - кроме фокусов с аст

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

It's-Me Автор вопроса
Алиса Кассель-Королёва
фокус этот слишком сложен и не нужен

Реально сложно и много строк будет? Это вот в 5+- строк никак?

никак

Алиса Кассель-Королёва
никак* * - кроме фокусов с аст

никак и с фокусами с ast. во время выполнения кода ast уже нет.

суть проблемы вкратце: func_return получает то, что вернула функция (в данном случае print), по значению нельзя восстановить, какая функция его вернула

It's-Me Автор вопроса
Алиса Кассель-Королёва
суть проблемы вкратце: func_return получает то, чт...

А если передать print('бла-бла-бла') как строку, в кавычках?

ну типа сделать колбек наверное имели в виду

It's-Me Автор вопроса
SirOrange
ну типа сделать колбек наверное имели в виду

Нет, вызов мне как раз не нужен нигде. Нужно вернуть функцию без её вызова. Функция допустим принимает строку с именем функции и надо из строки как-то получить функцию. Ладно, буду думать.

It's Me
Нет, вызов мне как раз не нужен нигде. Нужно верну...

распарси название функции до первой открывающейся скобки, а потом в locals/globals глянь

It's-Me Автор вопроса
Антон Romanov
распарси название функции до первой открывающейся ...

Так в locals и globals разве сохраняется не то, что уже раньше вызывалось? А если такая функция раньше не вызывалась? Да и как понять какой ключ чтобы найти нужную функцию?

It's Me
Так в locals и globals разве сохраняется не то, чт...

в глобальном скоупе лежат те имена которые существуют, например функции которые определены в этом модуле или импортированы. вызывалась функция или нет не имеет значения.

It's-Me Автор вопроса
Alex
в глобальном скоупе лежат те имена которые существ...

Ага, я понял, которые я создавал или импортил. Ну да, не подходит мне, я ведь их не обязательно сам писал. Попробую через builtins

It's-Me Автор вопроса
Tishka17
сделай словарь вида {имя: функция}

Та я вроде сделал уже что хотел

It's Me
Та я вроде сделал уже что хотел

а теперь выкинь и сделай нормально

It's-Me Автор вопроса

Исходную подзадачу лучше скажу. Исходная подзадача в том, что функция принимает строку в которой идёт вызов функции с параметрами, но вызова функции не происходит так как это строка. Возвращает функция ту самую функцию, что в строке, но без параметров и не коллабл, то есть она не выполняется.

It's Me
Исходную подзадачу лучше скажу. Исходная подзадача...

AST можешь распарсить и потом искать функцию в глобальном неймспейсе.

It's-Me Автор вопроса
Alex
AST можешь распарсить и потом искать функцию в гло...

Я почитаю об этом, попробую. Спасибо.

Tishka17
В словаре, нефиг

ну или в словре. вообще задача как я понял синтетическая и учебная

It's-Me Автор вопроса
Tishka17
Это точно исходная задача?

Нет, исходная задача от которой была эта задача была вчера. Но по сути с решением этой подзадачи я уже практически решил вчерашнюю задачу. Или я думаю что решил. Мне в голове оперативки не хватает и я сча пролистаю чат чтобы увидеть какую я задачу ставил вчера или позавчера.

It's-Me Автор вопроса
Алиса Кассель-Королёва
изначально вроде не было никакой строки 🤨

Но если мы этот код не поместим куда-то типа строки, то он выполнится, а мне не надо выполнение. К тому же я уточнил ещё в первый же день, что пусть код тогда будет в строке, чтобы он не выполнялся. В общем вначале тоже подразумевалось что он в строке и я об этом писал в тот же день.

It's Me
Но если мы этот код не поместим куда-то типа строк...

я в любом случае не понимаю смысл задачи, здесь как с троллейбусом из буханки хлеба

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта