请翻译一下 ,Failure Cases
尽管我承认(实际上非常印象深刻)ChatGPT在编程方面有很大帮助,但有时它无法得到我喜欢的代码。多次尝试失败后,我认为记录这些失败案例并在新AI或升级版本出来时再试一次是个好主意。
简单预处理器
我尝试编写一个简单的C语言预处理器代码,没想到得到的是一个功能不完全的预处理器。我只想要一个简单的预处理器,可以处理指令[#if #elif #endif]和[#define]。我从ChatGPT那里得到的GUI部分和整体代码结构与我预期的差不多。但是实现stripIf(str)的功能并不好。 它远远落后于预期,无法改进到像预期那样运行的代码。
这是2023年2月9日尝试的。
编写一个包含以下要求的javascript和html文件:
1. 在页面中心创建一个三行一列的表格,表格宽度为600像素。表格的网格线应该显示出来。
2. 在第一行放置一个名为inputText的文本框,宽度与表格相同,高度为20行。默认文本为:"#define c1 1 \n#define c2 0 \n#if c1 \n a=1\n b=1\n#elif\n a=0\n b=0\n#endif"
3. 在第二行放置一个名为stripIf的按钮。
4. 在第三行,放置一个名为outputText的文本框,宽度与表格相同,高度为10行。
5. 实现一个名为stripIf(str)的函数。该函数接受一个字符串str,提取其中'#if true'(即#if 1)的部分并返回它。函数应该理解"#define"并在检查"#if"条件时应用它。
6. 当点击stripIf按钮时,将inputText的文本传递给stripIf(str)函数,并将函数的输出打印到outputText。
7. 不要使用<style>标签。
8. 将html和javascript分别写入不同的文件。
9. 定义所有回调函数单独,并通过addEventListener调用它们。