问题标签 [setf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
1500 浏览

clojure - 在 Clojure 中设置

我知道我可以在 Common Lisp 中执行以下操作:

我如何在 Clojure 中做到这一点?特别是,我如何在 Clojure 中没有 setf 的情况下做到这一点?

0 投票
2 回答
993 浏览

common-lisp - Common lisp:通过 setq 和 assoc 删除 alist 中的一对

我在一本旧的通用 lisp 书中找到了代码,并在 lispworks 和 clozure cl 中尝试了它。但是他们俩都无法运行代码。此代码用于删除对:(author1 . john)

谢谢你的时间

0 投票
1 回答
258 浏览

field - setw() - 调整域(左、右或内部)

我正在通过字符串函数进行测试来学习它们(我是新手程序员)

无论如何,我目前正在看setw()但我似乎不明白它......我想我了解 setfil 的基本用法和用法

这是我的测试代码 http://ideone.com/czAXH

无论如何,cplusplus网站说..“格式标志调整字段(左,右或内部)”但没有说明如何使用它?

我认为这意味着我可以执行上面的代码,但将“间距”放在单词之后而不是之前..

我怎么做?

0 投票
2 回答
2688 浏览

common-lisp - 在 Common Lisp 中定义 setf-expanders

事情是这样的:我没有“得到” setf-expanders 并且想了解它们是如何工作的。

我需要了解它们是如何工作的,因为我遇到了一个问题,这似乎是你应该学习 setf-expanders 的典型示例,问题如下:

如何为 ARR-INDEX 编写合适的 setf-expander?

0 投票
1 回答
181 浏览

tree - Setf (?) 在树中引起循环

我正在 Common Lisp (CLISP) 中实现进化算法,但我遇到了问题。

我有一个类似树的类:

还有一些方法:

我想要做的是从人口中交换两个随机树的两个随机子树。但是当我做这样的事情时:

有时会检测到一个循环,这显然不应该发生。

Check-for-cycles 没问题,我也用 (trace) 检测到了循环。我一直在更新后代的数量。

我想(setf get-subtree)有问题。我是 LISP 的新手,我对 setf 扩展不是很好。请帮我。

0 投票
3 回答
266 浏览

common-lisp - 当我在 LISP 中使用普通的 setf 语句时会发生什么?

我知道当你想在 Lisp 中进行动态/全局绑定时,你可以使用 defparameter 或 defvar。我还知道,你可以使用 defun 参数列表或 let 语句来进行词法绑定,嗯,几乎无处不在。

我想知道的是,当我在代码中的其他任何地方没有声明或使用 x 这样的语句时,我到底做了什么:

这似乎工作正常,并且 x 似乎不像词法变量。它实际上是一个动态的全局变量,就像我使用 defparameter 或 defvar 一样,还是完全不同?

0 投票
1 回答
1737 浏览

c++ - 使用 cout 在小数点后打印 X 数

我有这个代码:

还有这个:

第一个代码的结果是:7.4568 这几乎是我想要的(我想要收到的是 7.4567)第二个代码的结果:7.9846e+05 这根本不是我想要的(我想要 798456.6)我想要将数字打印到小数点后 4 个数字

我怎样才能做到这一点 ?

0 投票
2 回答
256 浏览

arrays - 创建具有切换行和列的数组的影子数组

我正在尝试找到一种方法来创建具有切换行和列的数组副本。
我想通过设置从影子数组到原始数组的指针来做到这一点,以便 item[2 1] 指向 item[1 2]。

使用指针会产生这样的效果,即当原始数组更改时,阴影数组也将反映该更改。

到目前为止,我想出了对数组中的每个项目使用长度为 1 的置换数组。
它可以工作,但结果是一个带有数组的数组。
我的问题是,有没有更好的方法来做到这一点?
有没有办法通过影子数组使用 setf 来设置原始数组中的值?

到目前为止我的代码:

一些输出:

列的移位数组现在是

0 投票
2 回答
113 浏览

c++ - 防止小数点前的零在C++中显示

在 C++ 中,我使用以下语句来显示输出:

我的输出看起来像

如何防止显示小数点前的零?我想:

0 投票
2 回答
816 浏览

lisp - 使用 SETF 功能扩展 SETF 是如何工作的?

Practical Common Lisp17 章 Object Reorientation: Classes section Accessor Functions中,我发现很难理解SETF扩展的方式。

功能:

bank-account类定义:

我不明白的是:

  • 在表达式(setf (customer-name my-account) "Sally Sue")中确实(customer-name my-account)返回类的 SETFable 插槽值customer-namebank-account然后SETF用于将值设置为“Sally Sue”?

  • 实际上是(setf (customer-name my-account) "Sally Sue")在调用上面的函数吗?

  • 如上定义是setf customer-name一个函数?

  • 上面的函数customer-namein(setf customer-name)'customer-namein 是指同一个东西吗?

  • 该部分指出

    第二个元素是一个符号,通常是用于访问 SETF 函数将设置的位置的函数的名称

    如果是这种情况,那么slot-value当函数可用于访问该位置时,为什么还要在函数定义中使用该函数?