0

我正在设计一个需要从没有变量开始的应用程序。但是,在某些时候,用户会输入他想要数的东西,比如橙子。然后他会输入“橙子”。在他写完橘子之后,我想让 Matlab 创建一个变量“orangesCounter”。有谁知道我怎么能做到这一点?

或者也许有人知道我正在尝试做的事情的名称,如果它有一个特定的名称。我只是不知道如何正确地谷歌这个问题,因为我不知道这种类型的变量创建是否有名称。

谢谢!

4

1 回答 1

2

您正在为自己设置一个巨大的混乱,因为您将如何处理您在代码中不知道名称的变量?无论如何,这是你的脚,所以这是枪:

%# ask for input
varName = input('what do you want to count? Please enclose the word in single quotes.\n')

%# make the corresponding counter variable, initialize it to 0
eval(sprintf('%sCounter=0;'varName'));

这是一个更好的方法:

variables = struct('name','','value','');

%# ask for the first variable
variables(1).name = input('what do you want to count? Please enclose the word in single quotes.\n');

%# ask for how many things there are
variables(1).value = input(sprintf('how many %s are there?\n',variables(1).name));

%# and return feedback
fprintf('There are %i %s.\n',variables(1).value,variables(1).name);

请注意索引 - 您可以在结构中拥有多个名称/值对。

于 2012-11-05T23:15:46.920 回答