同时将相同的值分配给多个地方?

下午147点

我想分配给两个(或多个)变量,例如xyz等)从用户输入读取的相同值。现在我有了(setf x (read)),但是我也想输入值y我是否必须这样做(setf y x)还有更优雅的东西吗?

(setf x (read) y (read))

只能让用户输入两次,所以这是不好的。

约书亚·泰勒(Joshua Taylor)

尽管您可以轻松实现它,但没有什么比该语言内置的功能更好。例如,这是一个宏setf *(尽管不是最佳名称),它为一堆地方(不必是变量)分配了一个值:

(defmacro setf* ((&rest places) value)
  (let ((temp (gensym)))
    `(let ((,temp ,value))
       (setf ,@(mapcan (lambda (place)
                         (list place temp))
                       places)))))

CL-USER> (macroexpand-1 '(setf* (a (car list) (aref array 2 3)) d))
(LET ((#:G1043 D))
  (SETF A #:G1043
        (CAR LIST) #:G1043
        (AREF ARRAY 2 3) #:G1043))

你会的

(setf* (x y) (read))

当然,对于简单的关闭,您也可以手动执行此操作(如sds所示):

(setf x (read)
      y x)

或者

(let ((temp (read)))
  (setf x temp
        y temp))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用相同的方法将相同的值分配给多个类属性

来自分类Dev

将相同的键=>值对分配给PHP中的多个数组

来自分类Dev

将相同的值分配给ggplot2中的多个主题元素

来自分类Dev

每次点击以DRY方式将相同表单的值分配给多个js对象

来自分类Dev

将相同的字符串分配给多个变量

来自分类Dev

WPF 将相同的 DataContex 分配给多个页面 MVVM

来自分类Dev

将相同的值分配给不同的ndarray索引-Python

来自分类Dev

将多个键分配给数组中的相同值

来自分类Dev

将多个const分配给Javascript中的相同值

来自分类Dev

创建新对象时如何将相同的随机数分配给多个变量?

来自分类Dev

如何一次将相同的操作分配给多个按钮?

来自分类Dev

如何在VBA中一次将相同的值分配给数组的某些元素?

来自分类Dev

将相同的索引号分配给重复的值(最多n个重复项)

来自分类Dev

WooCommerce | 可变产品| 每个值将相同的图像分配给属性X(Y之外)

来自分类Dev

如何将相同的数组值分配给2个不同的变量

来自分类Dev

如何将相同的键作为值分配给字典中的重复键

来自分类Dev

哪个更快:将相同的值分配给变量,或者找出是否已设置?

来自分类Dev

如何在scala中将相同的值分配给更多var

来自分类Dev

如何在VBA中一次将相同的值分配给数组的某些元素?

来自分类Dev

将相同的键分配给从动态数组获得的值

来自分类Dev

malloc将相同的地址分配给不同的数组

来自分类Dev

如何在MongoDB中查找具有相同键值并分配给多个值的记录

来自分类Dev

将单个值分配给与常规 JavaScript 相同的多个 AngularJs $scope 变量?

来自分类Dev

将相同的数组/对象元素分配给相同元素的性能

来自分类Dev

同时将nil分配给多个UIlabel和Uiimageviews

来自分类Dev

查询以将相同的ID分配给要插入的行(如果表中已存在该行)

来自分类Dev

malloc将相同的内存位置分配给2个指针

来自分类Dev

如何避免将相同的str分配给词典中的列表

来自分类Dev

Windows 7:将相同的字母分配给外部硬盘驱动器

Related 相关文章

  1. 1

    用相同的方法将相同的值分配给多个类属性

  2. 2

    将相同的键=>值对分配给PHP中的多个数组

  3. 3

    将相同的值分配给ggplot2中的多个主题元素

  4. 4

    每次点击以DRY方式将相同表单的值分配给多个js对象

  5. 5

    将相同的字符串分配给多个变量

  6. 6

    WPF 将相同的 DataContex 分配给多个页面 MVVM

  7. 7

    将相同的值分配给不同的ndarray索引-Python

  8. 8

    将多个键分配给数组中的相同值

  9. 9

    将多个const分配给Javascript中的相同值

  10. 10

    创建新对象时如何将相同的随机数分配给多个变量?

  11. 11

    如何一次将相同的操作分配给多个按钮?

  12. 12

    如何在VBA中一次将相同的值分配给数组的某些元素?

  13. 13

    将相同的索引号分配给重复的值(最多n个重复项)

  14. 14

    WooCommerce | 可变产品| 每个值将相同的图像分配给属性X(Y之外)

  15. 15

    如何将相同的数组值分配给2个不同的变量

  16. 16

    如何将相同的键作为值分配给字典中的重复键

  17. 17

    哪个更快:将相同的值分配给变量,或者找出是否已设置?

  18. 18

    如何在scala中将相同的值分配给更多var

  19. 19

    如何在VBA中一次将相同的值分配给数组的某些元素?

  20. 20

    将相同的键分配给从动态数组获得的值

  21. 21

    malloc将相同的地址分配给不同的数组

  22. 22

    如何在MongoDB中查找具有相同键值并分配给多个值的记录

  23. 23

    将单个值分配给与常规 JavaScript 相同的多个 AngularJs $scope 变量?

  24. 24

    将相同的数组/对象元素分配给相同元素的性能

  25. 25

    同时将nil分配给多个UIlabel和Uiimageviews

  26. 26

    查询以将相同的ID分配给要插入的行(如果表中已存在该行)

  27. 27

    malloc将相同的内存位置分配给2个指针

  28. 28

    如何避免将相同的str分配给词典中的列表

  29. 29

    Windows 7:将相同的字母分配给外部硬盘驱动器

热门标签

归档