Описание тега funcall
1
ответ
Отладка простых функций LISP.
Я очень новичок в этом, и мне трудно даже намочить ноги. Я уверен, что однажды у меня работает несколько функций, я смогу использовать их и работать над функциями более высокого порядка и более сложными задачами. Может кто-то указать на мои ошибки в…
30 мар '17 в 20:32
4
ответа
Зачем нам funcall в Лиспе?
Почему мы должны использовать funcall вызывать функции высшего порядка в Common Lisp? Например, почему мы должны использовать: (defun foo (test-func args) (funcall test-func args)) вместо более простого: (defun bar (test-func args) (test-func args))…
15 мар '12 в 23:07
2
ответа
Карта, резкая цитата и замыкания
Я немного новичок в CL и сейчас пытаюсь обернуть голову mapcan, #', funcall и закрытия. Вот закрытие, которое применяет предикат к числу n и, если оно верное, возвращает (list n)иначе nil: (defun all-those (predicate) (lambda (n) (if (funcall predic…
10 ноя '16 в 21:32
1
ответ
Сравнение возвращает каталог функции вызова ожидаемого значения, но это не так в процессе в списке
Я создаю простой тестер elisp. Тем не менее, я получаю неправильное поведение (которое я не могу понять), как показано ниже. Я думаю, что тестеры должны вернуться t контрольные примеры (:eq 'a 'a) а также (:eq (return-symbol) 'a) естественно, так ка…
11 ноя '18 в 01:38
2
ответа
Common Lisp, "определенный, но никогда не используемый"
Эта функция компилируется с предупреждениями, fn определен и никогда не используется в первой строке, а fn является неопределенной функцией во второй строке: (defun test-function (fn) (funcall #'fn)) Зачем? Общее объяснение или ссылка на него было б…
25 сен '16 в 20:33
1
ответ
Как вызвать ObjectSpace.each_object с C API без rb_string_eval?
В настоящее время я пытаюсь получить все экземпляры класса, и я хотел использовать ObjectSpace.each_object чтобы достичь этого. Вот мой фактический код на C: ruby_init(); int ruby_state = 0; rb_string_eval_protect("def my_func ; ObjectSpace.each_obj…
30 апр '17 в 09:58
4
ответа
Написание тестовой функции, использующей два пространства имен в lisp
Я начал изучать Lisp и использовать Lispworks personal edition 6.1.1 и столкнулся с проблемой при оценке основных функций. Я могу понять их правильно в Схеме, но они не работают, когда я пытаюсь оценить их в Лиспе. В Лиспе я знаю, что у каждого симв…
19 июн '19 в 11:20
3
ответа
Используйте do, if и funcall для определения (удовлетворения fun lst), который возвращает список элементов в списке, которые удовлетворяют функции
Я смотрел вокруг и до сих пор не понимаю, как работает funcall. Был бы очень признателен, если бы кто-нибудь мог дать мне предложение о способах решения проблемы. Я знаю, что "развлечение" должно быть функцией предиката, но после этого я застрял кст…
26 янв '20 в 23:58
1
ответ
Common Lisp - как вызвать / применить функцию с ключевыми аргументами?
Контекст С такими функциями, как (lambda (List arg1 arg2 ... argn)) я могу использовать funcall/apply для вызова этих методов с исходными аргументами и, таким образом, изменения списка внутри лямбда. С такими функциями, как (lambda (arg1 arg2 ... ar…
02 апр '20 в 21:13
2
ответа
Вложенная функция обратного вызова в C
Я написал код для вызова вложенных функций с помощью обратного вызова. Но я не получаю ожидаемого результата. Пожалуйста, посмотрите код: #include <stdio.h> #include <stdlib.h> typedef int (*f_ptr)(int a, int b); typedef int (*pair_ptr)(…
02 авг '20 в 22:26
1
ответ
Функция Dose not Return Что-нибудь почему? [закрыто]
Недавно я установил версию Python 3.10 в операционной системе Windows. Я пишу код для добавления функции, но когда я вызываю функцию, не возвращаю ничего, почему. #!/bin/usr/python3.10 def add(number1: int| float, number2: int| float, ) -> int | …
31 окт '21 в 12:45
1
ответ
`apply` или` funcall` для макросов вместо функций
В Лиспе аргументы функции оцениваются перед входом в тело функции. Макро-аргументы не обрабатываются. Но иногда хочется внедрить в макрос фрагменты кода, хранящиеся в переменных. Это означает сначала вычисление аргумента для макроса, а затем примене…
15 ноя '21 в 13:06
3
ответа
В Common Lisp, как использовать лексическую область видимости и funcall, чтобы передать другую функцию в качестве аргумента?
Я использую SBCL, Emacs и Slime. Следовательно, я могу сделать: CL-USER> (defvar example #'(lambda (x) (* x 20))) EXAMPLE CL-USER> (funcall example 10) 200 Ok. Он работает так, как ожидалось. Используя библиотеку Dexador, я могу еще так: CL-US…
25 апр '22 в 14:31