Консольный калькулятор
Dec. 21st, 2018 09:31 amА вот интересно, что используют благородные доны и донны, если им приспичило что-то посчитать, а под рукой ничего кроме компьютера нет? :)
Заметил, что в большинстве случаев я не запускаю калькулятор с графическими кнопками, а стартую в консоли python. И это удобно, ибо наглядно и функционально: вся запись видна целиком, количество скобок неограничено, математические функции тоже под рукой, при этом результат возвращается сразу, ибо интерпретатор умеет считать выражения в интерактивном режиме.
А у вас что на эту тему?
Заметил, что в большинстве случаев я не запускаю калькулятор с графическими кнопками, а стартую в консоли python. И это удобно, ибо наглядно и функционально: вся запись видна целиком, количество скобок неограничено, математические функции тоже под рукой, при этом результат возвращается сразу, ибо интерпретатор умеет считать выражения в интерактивном режиме.
А у вас что на эту тему?
no subject
Date: 2018-12-21 11:23 am (UTC)echo 'print 1+2' | perl
Есть ещё perli aka
#!/usr/bin/env perl
do{print("perl> ");$_x=<>;chomp $_x;print(eval($_x)."\n")}while($_x ne "q")
no subject
Date: 2018-12-21 11:41 am (UTC)Второе - уже как-то похоже. Но только не позволяет использовать многострочные конструкции. От чего сразу много теряет в юзабельности.
В Tcl специально для упрощения написания REPL-ов есть команда info complete, которая проверяет, является ли переданная ей строка завершенной командой Tcl (все скобки закрыты и все такое).
В perl подобного нет, поэтому все REPL-ы, которые я нашел в дистрибутиве, тащут за собой по мегабайту каких-то левых модулей.
no subject
Date: 2018-12-21 11:44 am (UTC)Строго говоря, совсем несложно наваять на шелле цикл ввода-вывода для многострочных конструкций perl-а, но есть одно "но": переменные между вызовами сохраняться не будут.
no subject
Date: 2018-12-21 12:00 pm (UTC)no subject
Date: 2018-12-21 12:20 pm (UTC)Можно, конечно, писать код смысловыми блоками с набором нужных модулей, а потом исполнять, но это не совсем интерактив. Правда, речь изначально шла про калькулятор :)))