乐筑天下

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

[编程交流] lisp中的选项

[复制链接]

2

主题

182

帖子

180

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 14:55:34 | 显示全部楼层
 
你可能是新手,但你接触了一个相当高级的主题(太棒了!你很快就会成为一个很好的程序员)。
 
首先,当你用“普通语言”写下你想要的东西时,这叫做开发“伪代码”。非常非常重要的一步。无论什么事都要这样做。
 
其次,我最近有时间完成了关于这个主题的研究/写作,我发现编程界的一位优步人士(保罗·格雷厄姆)将这个问题称为“回指IF”。
 
这对我来说是一个非常有趣的谜题。我想了好几个小时,如果你愿意的话,我很想讨论一下。。。但无论如何,如果你“现在没有时间讨论”或“只需要答案”,这就是答案。如果你有“时间”或“想要”讨论,请告诉我!
 
  1. (initget 0 "Length Width Depth Time")
  2. (setq Inp
  3.      (cond
  4.        ( (getkword "\nSpecify a dimension [Length/Width/Depth/Time] <Time>: ") )
  5.                ("Time")) )
回复

使用道具 举报

14

主题

78

帖子

64

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 14:57:12 | 显示全部楼层
哇-谢谢你的回复。但我很难确定哪一个最适合我!为了进一步解释我要做的事情,我想问用户他们将以什么比例绘制图形(从1:50、1:100、1:200或1:500中选择)。因此,在要求用户从这四个选项中进行选择之后,我想转到LISP中的一个假设为1:200的部分并运行该部分,同时忽略1:50、1:100和1:500部分。由于我有限的LISP知识,我正努力从所有的回复中挑选出要尝试的解决方案!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:02:09 | 显示全部楼层
下面是Se7en提供的代码:
 
  1. (initget "1:50 1:100 1:200 1:500")
  2. (setq uAns
  3. (cond ((getkword "\nSelect Scale 1:[50/100/200/500] <1:50> : "))
  4.        ("1:50")))
  5. (cond ((eq uAns "1:50")
  6.        ... Do something ...
  7.      ) ; End condition 1
  8.      ((eq uAns "1:100")
  9.       ... Do something ...
  10.      ) ; End condition 2
  11.      etc...
  12. ) ; End COND
回复

使用道具 举报

14

主题

78

帖子

64

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 15:06:09 | 显示全部楼层
这看起来正是我想要的——谢谢李·麦克。我来试试。。。。
回复

使用道具 举报

2

主题

182

帖子

180

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 15:07:34 | 显示全部楼层
我被最后几个帖子的逻辑搞糊涂了。
 
我以为这是一个:
如果我收到一件物品,就把它收起来。
问题类型。
 
不是:
如果我买了一件东西:如果是罐装的,把它放在最上面的架子上,如果是易腐的,把它放在最下面的架子上,如果是水果,把它放在柜台上。。。。
问题类型。
 
如果是后者,那么我建议重新思考程序布局/流程/设计。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:11:38 | 显示全部楼层
约翰,我不理解你的隐喻-LISP对于大多数人来说已经足够复杂了,没有使用隐喻。。。
回复

使用道具 举报

2

主题

182

帖子

180

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 15:15:13 | 显示全部楼层
我认为你错了;代码是容易的部分,逻辑是困难的。。。让我试着用另一种方式来解释:编程语言使用英语。英语有一个结构——动词、名词、代词等。单词组成句子。句子组成段落。。。如果你的句子都搞砸了,你的段落就会乱七八糟,毫无意义。人们真正的问题是,他们没有把句子想清楚,他们把动词拼凑在一起,试图让它在段落中有意义,等等。。
 
我的第一句话就是一个句子;易于理解、清晰、简洁。试着用第二个句子造句。困难的糟糕的设计。
 
我看到两个“问题”:“IT”和“AWAY”。我给了你一种定义“它”的方法,现在你定义“离开”。一旦我们有了天平,我们要做什么?对于1:200的条件,我们要画一条线?对于1:50的条件,我们将绘制图纸。。。我不懂逻辑。
 
*微笑*
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:16:27 | 显示全部楼层
 
我可以看到你在这里说的话-但这个信息没有给出-因此我只是提供给我的信息给我的方法。
 
*厚着脸皮笑*
回复

使用道具 举报

2

主题

182

帖子

180

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 15:21:59 | 显示全部楼层
> ...
>但这些信息并没有提供,因此我只是
>为我的方法提供所提供的信息
> ...
 
因此,我有理由质疑逻辑并提出我的观点。公鸡,现在轮到你了。带领我们。
回复

使用道具 举报

14

主题

78

帖子

64

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 15:24:03 | 显示全部楼层
 
哈哈,我想我迷路了。。。。其目的是,lisp将从用户那里获得绘制图形的比例,然后相应地更改某些文本高度。因此,如果选择1:500,文本高度需要更大,以便绘制后可以读取。在1:50时,你不需要大量的文本,因为这是不必要的。无论选择是什么,下一步都是一样的,只是文字高度不同。这有帮助吗??!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 03:09 , Processed in 0.635135 second(s), 70 queries .

© 2020-2025 乐筑天下

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