乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 51|回复: 15

[编程交流] 将(rtos x 2 2)应用于lis

[复制链接]

62

主题

466

帖子

404

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
310
发表于 2022-7-6 10:21:52 | 显示全部楼层 |阅读模式
我正在尝试转换此列表
  1. (0.33 0.5 0.75 1.0 1.01 1.25 1.5 1.51 2.0 2.25 2.5 3.0 3.01 3.02 3.25 3.5 3.9 4.0)

进入
  1. ("0.33" "0.50" "0.75" "1.00" "1.01" "1.25" "1.50" "1.51" "2.00" "2.25" "2.50" "3.00" "3.01" "3.02" "3.25" "3.50" "3.90" "4.00")

 
这个问题快把我逼疯了!!!
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 10:29:05 | 显示全部楼层
也许是这样:
 
  1. [b][color=BLACK]([/color][/b]setvar [color=#2f4f4f]"DIMZIN"[/color] 0[b][color=BLACK])[/color][/b]
  2. [b][color=BLACK]([/color][/b]setq l1 '[b][color=FUCHSIA]([/color][/b]0.33 0.2 0.5 1.0 1.01 1.22[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]
  3. [b][color=BLACK]([/color][/b]setq l2 [b][color=FUCHSIA]([/color][/b]mapcar '[b][color=NAVY]([/color][/b]lambda [b][color=MAROON]([/color][/b]s[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]rtos s 2 2[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] l1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]
  4. [b][color=BLACK]([/color][/b]prin1 l2[b][color=BLACK])[/color][/b]

-大卫
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:30:20 | 显示全部楼层
只是需要考虑一下。。。
 
没有理由将dimzin设置为零,因为(rtos 2 2)将执行OP想要的操作。然而,如果您确实更改了dimzin,那么(IMO)它*应该*在例程完成时更改回其原始状态眨眼:
 
基于David对mapcar+lambda的恰当使用。。。
 
  1. (defun RM:ListReal->ListStr (l / l2)
  2. ;; © RenderMan
  3. ;; Example: (RM:ListReal->ListStr l1)
  4. ;; Where l1 =
  5. ;; (setq l1 (list 0.33 0.5 0.75 1.0 1.01 1.25 1.5 1.51 2.0 2.25 ;| etc |)
  6. (if (and l
  7.           (= 'LIST (type l)))
  8.    (setq l2 (mapcar (function (lambda (x) (rtos x 2 2))) l))))

 
 
希望这有帮助!
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 10:37:33 | 显示全部楼层
RTO不会覆盖dimzin设置(删除前导/尾随零)。如。
  1. Enter new value for DIMZIN <12>:
  2. Command: (rtos 0.1 2 2)
  3. ".1"

 
如果列表有子列表呢?
 
值得深思。。。
  1. (defun AT:RToSLst (lst unit prec)
  2. (mapcar
  3.    (function (lambda (x)
  4.                (cond
  5.                  ((eq (type x) 'LIST) (AT:RToSLst x unit prec))
  6.                  ((member (type x) (list 'INT 'REAL)) (rtos x unit prec))
  7.                  (x)
  8.                )
  9.              )
  10.    )
  11.    lst
  12. )
  13. )
eg。
哦,是的,在对其发出类型之前,不需要使用和检查l是否是有效变量;类型将在nil上工作。此外,您不需要设置第二个变量。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:41:21 | 显示全部楼层
 
 
我感谢你的纠正,艾伦(反过来,我向大卫道歉!)。
 
尽管有教育上的修正,我的陈述的后半部分(将Dimzin改回)仍然成立,不是吗?
 
和往常一样,我感谢你分享这些知识:眨眼:
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 10:45:00 | 显示全部楼层
同意,随时。
你看了我的潜艇吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:47:33 | 显示全部楼层
 
如果列表中有点对呢?
 
更多思考:
 
  1. (defun LM:rtoslst ( l u p )
  2.   
  3.   (cond
  4.     ( (member (type l) '(INT REAL)) (rtos l u p) )
  5.     ( (atom l) l )
  6.     ( (cons (LM:rtoslst (car l) u p) (LM:rtoslst (cdr l) u p)) )
  7.   )
  8. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 10:52:52 | 显示全部楼层
 
爆笑
在回家的路上,我想到了点对(完全忘记了),我只知道我到家的时候你会回答这个问题。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 10:57:17 | 显示全部楼层
 
在大多数情况下,我同意这一说法。在DIMZIN的情况下,我认为任何使用(rtos)(angtos)的例程都应该隐式地设置DIMZIM以匹配所需的结果。重置它将是一个完整的健壮例程中的一般家务活。
 
 
 
至于子列表,nils和none numberp atoms,我倾向于一个错误。我的想法是,最初需要将实数列表转换为字符串。如果原子不是一个数字,那么有些东西就搞糟了,应该这样传递。我的0.02美元-David
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 11:01:30 | 显示全部楼层
 
 
这些都是很好的观点。
 
对你来说可能只有0.02美元,但我最近换成了津巴布韦元。。。前几天我买了一个巨无霸,花了我980.75美元!(开玩笑!)
 
我感谢你的澄清,大卫!:斯坦:
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 07:20 , Processed in 0.874340 second(s), 83 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表