blockquote>
// user enters a value R P or S - NEED TO RETURN A COUPLE OF TIMES AFTER, not sure why?
потому что
blockquote>
$input=
$R = stream_get_line(STDIN, 1, "\n");
$P = stream_get_line(STDIN, 1, "\n");
$S = stream_get_line(STDIN, 1, "\n");
Вы вызываете
stream_get_line()
три раза, поэтому вашему сценарию требуется три строки ввода.Кроме того, я не уверен, что это было задумано, но вы получаете пользовательский ввод, казалось бы, чисто случайно, поскольку
$input = $R = stream_get_line()
сохраняет первый пользовательский ввод в$R
и$input
.
Я бы предложил сделать только$input = stream_get_line()
и ничего другого.Затем в вашем блоке переключателя / кейса вы делаете, например,
echo $R = "...";
и дальше вы делаетеif ($R && ...)
.
Оценивать строки как логические значения не рекомендуется.
Я бы порекомендовал что-то вроде$R = $P = $S = false; // initialize all variables to false switch ($input) { case "R": $R = true; // set selected variable to true echo "You have selected Rock\n"; break; // ... }
Наконец, вы, кажется, используете метки перехода для комментирования своего кода.
blockquote>
Rock:
if ( ...
Хотя это не вызывает никаких проблем (пока), обычно считается плохим стилем злоупотреблять языковыми функциями для цели документирования.
Они должны стать комментариями:// Rock if ( ...
Да, это так. Способ включить это зависит от вашей версии Notepad ++. В более новых версиях вы можете использовать:
Меню Вид → Показать символ → * Показать все символы`
или
Меню Посмотреть → Показать символ → Показать пустое пространство и вкладку
(благодаря комментариям bers и ответам bkaid ниже для этих обновленных местоположений.)
В более старых версиях вы можете искать:
Меню Вид → Показать все символы
или
Меню Вид → Показать пробел и TAB
Да, и к сожалению Вы не можете выключить их или любые другие специальные символы. Опции под \View\Show Символами только включают или выключают вещи как вкладки, пробелы, EOL, и т.д. Поэтому, если Вы хотите считать некоторое неясное кодирование с текстом в нем - на самом деле необходимо посмотреть в другом месте. Я также посмотрел на изменение кодирования, ASCII не перечислен, и это не сделало бы путаницу невидимой так или иначе.
Дважды проверьте свой текст с помощью подключаемого модуля Hex Editor. В вашем случае, возможно, в ваш текст вкрались некоторые управляющие символы. Обычно вы смотрите на пробел, и он говорит 32 32 32 32 или для Unicode 32 00 32 00 32 00 32 00. Вы можете найти проблему таким образом, если нет большого количества кода.
Загрузите плагин Hex отсюда; http://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/