Описание тега setf

Lisp: макрос SETF C++: std::ios_base::setf устанавливает флаги форматирования на указанные параметры. Его возвращаемое значение - предыдущие флаги формата.
2 ответа

Ошибки обхода путем определения переменных с помощью SETF

Экипаж, Я один из тех типов, которые настаивают на определении моих переменных с помощью SETF. Я обновился до новой машины (и новой версии SBCL), и это не позволяет мне сойти с рук (естественно, я получаю соответствующую ошибку "==> undefined variab…
20 янв '18 в 18:58
1 ответ

Оценка установленных форм

Этот вопрос о Common Lisp setf макрос, и как он оценивает свои формы аргументов (и подчиненные формы), а именно, только один раз, если они появляются несколько раз. (Это также частично продолжение примера, приведенного в комментариях в разделе Испол…
18 фев '17 в 19:02
1 ответ

LET и SETF в общем LISP

Из того, что сказал мне мой учитель, я должен использовать let для объявления локальных переменных и setf для объявления глобальных переменных. Я пытался запустить следующий код: (let (state-list (problem-initial-state problem)) (print state-list)) …
09 ноя '16 в 17:40
2 ответа

Как setf работает под капотом?

В настоящее время изучаю общий язык, следуя Практическому общему лиспу Питера Сейбела (я в главе 11, о коллекциях), мне трудно понять, как setf работает за капотом. Учитывая это выражение: (setf a 10) Я полностью понял, как интерпретатор может (1) п…
22 июн '17 в 11:42
2 ответа

Как работает функция SETF для расширения SETF?

В практическом Common Lisp, глава 17. Переориентация объектов: раздел классов Функции доступа, мне было трудно понять, как SETF расширяется. Функции: (defun (setf customer-name) (name account) (setf (slot-value account 'customer-name) name)) bank-ac…
06 июн '14 в 21:03
3 ответа

Отключить setf в C++?

Я использую setf для отображения десятичных знаков в выходных данных. cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); Однако, когда я помещаю приведенный выше код перед выводом, другие выходы также затрагиваются. Можно ли исполь…
21 янв '17 в 17:32
2 ответа

define-modify-macro с операторным аргументом

В Разделе 12.4 "На Лиспе" Пол Грэм пишет: "К сожалению, мы не можем определить правильный _f с define-modify-macro потому что оператор, который будет применен к обобщенной переменной, задан в качестве аргумента." Но что не так с чем-то вроде этого? …
23 июл '15 в 12:31
2 ответа

Определение setf-экспандеров в Common Lisp

Вот в чем дело: я не "получаю" setf-экспандеры и хотел бы узнать, как они работают. Мне нужно узнать, как они работают, потому что у меня есть проблема, которая кажется типичным примером того, почему вы должны изучать setf-экспандеры, проблема заклю…
12 июл '12 в 17:13
7 ответов

Сет в клоуре

Я знаю, что могу сделать следующее в Common Lisp: CL-USER> (let ((my-list nil)) (dotimes (i 5) (setf my-list (cons i my-list))) my-list) (4 3 2 1 0) Как мне сделать это в Clojure? В частности, как мне это сделать, не имея setf в Clojure?
16 дек '11 в 22:26
1 ответ

SETFable против места (CLHS) против места (Norvig)

Это setfв состоянии так же, как место в CLHS и местоположение в PAIP Norvig? Я пытаюсь выяснить, что это за место в Common Lisp, но для меня объяснение HyperSpec место n. 1. форма, которая подходит для использования в качестве обобщенной ссылки. 2. …
16 апр '17 в 15:07
1 ответ

Выведите число X после десятичной точки, используя cout

У меня есть этот код: double a = 7.456789; cout.unsetf(ios::floatfield); cout.precision(5); cout << a; а также этот: double a = 798456.6; cout.unsetf(ios::floatfield); cout.precision(5); cout << a; результат первого кода: 7.4568 Это почт…
01 янв '13 в 08:07
2 ответа

Неразрушающий набор?

Common Lisp, похоже, идет на все, чтобы предоставить как неразрушающие функции (например, subst & remove), так и деструктивные функции и модифицировать макросы (например, delete & rotatef) для общего использования. Предположительно это делается для …
21 фев '17 в 17:18
2 ответа

Common lisp: удалить пару из alist с помощью setq и assoc

Я нахожу код в старой общедоступной книге и пробую его в lispworks и clozure cl. Но оба они не могут запустить код. Этот код используется для удаления пары: (author1 . john), (setf q '((author1 . john) (author2 . tony) (author3 . fred))) (setf (asso…
02 янв '12 в 17:15
1 ответ

Почему общие функции не совпадают с функциями доступа?

Из того, что я прочитал, я понимаю, что функции Accessor в CLOS позволяют программисту получать и устанавливать переменные и генерируют обобщенную функцию с именем, которое было присвоено аксессору, для которого вам нужно определить различные методы…
27 июл '18 в 15:37
1 ответ

setw() - поле настройки (слева, справа или внутри)

Я собираюсь, хотя строковые функции делают тесты, чтобы изучить их (я начинающий программист) Во всяком случае, я в настоящее время смотрю на setw(), но я шов, чтобы не понять это... Я думаю, что я понимаю основное использование и использование setf…
17 мар '12 в 04:51
1 ответ

Setf (?) Вызывает циклы в дереве

Я реализую эволюционный алгоритм в Common Lisp (CLISP), и у меня есть проблема. У меня есть древовидный класс: (defclass node () ((item :initarg :item :initform nil :accessor item) (children :initarg :children :initform nil :accessor children) (numb…
10 дек '12 в 17:26
1 ответ

Setf имена функций

Чтение этого вопроса заставило меня задуматься о том, что представляет собой действительный автомобиль выражения. Очевидно, что символы и лямбды можно "вызывать", используя обычный синтаксис. По словам гиперспека, имя функции n. 1. (в среде) Символ …
30 июн '18 в 00:08
1 ответ

Lisp: найдите setf способ сделать эквивалент fset

Найдите setf способ сделать эквивалент fset в lisp.
25 янв '18 в 21:31
3 ответа

Как выполнить функцию на заданном месте

У меня есть список, который содержит некоторые символы и значения. Цель состоит в том, чтобы установить слот класса с помощью средства доступа, символ которого представлен в списке: (defclass my-class () ((attr :accessor attr))) (let ((to-call '(att…
07 фев '19 в 22:30
1 ответ

Как установить.precision для нескольких переменных в одной cout

У меня есть это в основном: Product newProduct; cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); newProduct.display(); в Product.cpp у меня есть: cout << "$" << basePrice << " - " << name << " - " &l…
09 фев '16 в 05:55