Se7en 发表于 2022-7-6 14:55:34

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

Rooster 发表于 2022-7-6 14:57:12

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

Lee Mac 发表于 2022-7-6 15:02:09

下面是Se7en提供的代码:
 

(initget "1:50 1:100 1:200 1:500")
(setq uAns
(cond ((getkword "\nSelect Scale 1: <1:50> : "))
       ("1:50")))

(cond ((eq uAns "1:50")
       ... Do something ...

   ) ; End condition 1
   ((eq uAns "1:100")
      ... Do something ...

   ) ; End condition 2

   etc...


) ; End COND

Rooster 发表于 2022-7-6 15:06:09

这看起来正是我想要的——谢谢李·麦克。我来试试。。。。

Se7en 发表于 2022-7-6 15:07:34

我被最后几个帖子的逻辑搞糊涂了。
 
我以为这是一个:
如果我收到一件物品,就把它收起来。
问题类型。
 
不是:
如果我买了一件东西:如果是罐装的,把它放在最上面的架子上,如果是易腐的,把它放在最下面的架子上,如果是水果,把它放在柜台上。。。。
问题类型。
 
如果是后者,那么我建议重新思考程序布局/流程/设计。

Lee Mac 发表于 2022-7-6 15:11:38

约翰,我不理解你的隐喻-LISP对于大多数人来说已经足够复杂了,没有使用隐喻。。。

Se7en 发表于 2022-7-6 15:15:13

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

Lee Mac 发表于 2022-7-6 15:16:27

 
我可以看到你在这里说的话-但这个信息没有给出-因此我只是提供给我的信息给我的方法。
 
*厚着脸皮笑*

Se7en 发表于 2022-7-6 15:21:59

> ...
>但这些信息并没有提供,因此我只是
>为我的方法提供所提供的信息
> ...
 
因此,我有理由质疑逻辑并提出我的观点。公鸡,现在轮到你了。带领我们。

Rooster 发表于 2022-7-6 15:24:03

 
哈哈,我想我迷路了。。。。其目的是,lisp将从用户那里获得绘制图形的比例,然后相应地更改某些文本高度。因此,如果选择1:500,文本高度需要更大,以便绘制后可以读取。在1:50时,你不需要大量的文本,因为这是不必要的。无论选择是什么,下一步都是一样的,只是文字高度不同。这有帮助吗??!
页: 1 [2]
查看完整版本: lisp中的选项