Input 在终端获取交互式用户输入:在racket中提供带可编辑默认值的提示

Input 在终端获取交互式用户输入:在racket中提供带可编辑默认值的提示,input,terminal,racket,readline,Input,Terminal,Racket,Readline,在bash中,我可以编写一个脚本,该脚本不仅a)允许用户输入字符串,而且b)还提示用户输入该字符串的默认值,c)允许在按enter键之前编辑该值: #!/bin/bash default_title="Another `date +%A` in paradise" read -e -r -p "Title: " -i "${default_title}" input title="${input:-default_title}" echo "Title will be: ${title}" 我

在bash中,我可以编写一个脚本,该脚本不仅a)允许用户输入字符串,而且b)还提示用户输入该字符串的默认值,c)允许在按enter键之前编辑该值:

#!/bin/bash
default_title="Another `date +%A` in paradise"
read -e -r -p "Title: " -i "${default_title}" input
title="${input:-default_title}"
echo "Title will be: ${title}"
我怎样才能在球拍上完成同样的事情


我看不出如何使用racket’s来实现这一点,racket’s允许我在终端(a)读取一行,但不允许我向用户(b)提供一个默认值,然后用户可以编辑(c)。

为什么您不能签入该函数?如果它是一个空白条目,请提供一个默认值?你试过什么?@mso:i)如果我正确理解你的第一个问题,我的答案是:因为这不是我想要的行为。试试shell脚本,看看它是如何工作的。如果函数检查为空,然后提供默认值,则假定用户已经输入了某些内容。上面的shell脚本不是这样工作的。它首先提供默认值,然后让用户编辑该默认值,然后提交。因此,如上所述,步骤a、b和c。ii)关于您的第二个问题:如前所述,我已经尝试过读取行,但我没有尝试过任何其他操作,因为我不知道还可以尝试什么。为什么您不能签入函数?如果它是空白项,请提供默认值?你试过什么?@mso:i)如果我正确理解你的第一个问题,我的答案是:因为这不是我想要的行为。试试shell脚本,看看它是如何工作的。如果函数检查为空,然后提供默认值,则假定用户已经输入了某些内容。上面的shell脚本不是这样工作的。它首先提供默认值,然后让用户编辑该默认值,然后提交。因此,如上所述,步骤a、b和c。ii)关于你的第二个问题:如前所述,我已经试过阅读这一行,但我没有试过其他任何东西,因为我不知道还有什么可以试。