Есть ли способ иметь значение переменной, равное тексту? Попытка отобразить выбранное пользователем слово в середине строки fprintf - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь закодировать игру типа MadLibs в Octave на Mac и не могу понять, как отобразить выбранное пользователем СЛОВО в середине строки текста.Я использовал fprintf, чтобы отобразить предложение с переменной в середине, и оно прекрасно работает, если переменная равна NUMBER.Если вы введете что-либо, кроме номера, вы получите ошибку.

    Word=input('Enter a word:            ');
    fprintf('You chose %d as the word.\n', Word)

Как разрешить пользователю выбирать слово, а затем отображать это слово в середине строки текста?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 17 апреля 2019

У ввода есть возможность вернуть введенный текст в виде строки MATLAB без вычисления выражений.

STR = input(PROMPT,'s')

Так что все введенное будет выведено в виде строки.для вашего примера:

Word=input('Enter a word:            ','s');
fprintf('You chose %d as the word.\n', Word)

Числа или текст будут отображаться правильно.

1 голос
/ 17 апреля 2019

Спецификатор формата для strings равен %s, поэтому вы можете изменить свой фрагмент на:

fprintf('You chose %s as the word.\n', Word)
...