我目前在Windows中通过Xoctave使用Octave,并遇到以下问题。使用input()函数在Octave中获取键盘输入
我试图运行与
activity = input("What would you like to do? ");
当我打电话控制台这个脚本启动脚本,它打印出
What would you like to do?
当我一个号码,然后按键进入,它返回:
What would you like to do? 1
error: `What' undefined near line 4 column 1
>>
看起来好像控制台正试图解析前一个命令的输出(即试图解析整行,包括提示文本)。
要得到什么,我想说一个更清晰的画面,只保存一个脚本只有一行:
m = input('Enter m: ');
然后尝试运行Xoctave该脚本。我相信你也会得到同样的错误。
我相信这与更改默认解析行为有关,但我不知道如何。
@Bart_Kiers
我想你误会= \ 当我做你只是规定了什么,它存储: 活性=你想怎么办? 1 我希望它只存储活动= 1 我发现这样做的唯一方法是: activity1 = input(“Pick 1 or 0”); activity2 = strrep(activity,“Pick 1 or 0”,“”); 活性= str2num(活性2)
其将输出: 活性= 1
为了阐明该问题,它创建一个类似的,但显著更令人沮丧的使用菜单功能的问题。 如果我这样做:
number=menu("What's your favorite number?",1,2,3,4,5);
系统提示:在3并按
[ 1] 1
[ 2] 2
[ 3] 3
[ 4] 4
[ 5] 5
pick a number, any number:
我钥匙进入和返回:“错误:输入无效或超出范围”,因为它试图解析整个行,包括提示! = [帮助!
此外,我正在使用Xoctave与Windows中的Octave命令行进行接口。 不知道这是否有帮助。
谢谢!
看不到为什么input()不起作用。您是否使用标准的Octave控制台(适用于我(我在Mac上,无法访问Xoctave))试用它? – chl 2011-05-25 19:18:36