Как я могу получить пользовательский ввод в консоли на dartpad?
Всякий раз, когда я пишу
import 'dart:io';
void main() {
stdout.write("What's your name? ");
var name = stdin.readLineSync();
print("Hi, $name!");
}
Но у меня есть исключение в окне консоли, подобное этому
Uncaught exception:
Unsupported operation: StdIOUtils._getStdioOutputStream
Как описано в руководстве для DartPad: https://dart.dev/tools/dartpad
DartPad supports dart:* libraries that work with web apps; it doesn’t support dart:io or libraries from packages. If you want to use dart:io, use the Dart SDK instead. If you want to use a package, get the SDK for a platform that the package supports.
Таким образом, вы не можете использовать stdin/stdout, так как он взят из библиотеки dart:io.
Для решения вашей проблемы вы можете включить «Показать веб-контент» внизу страницы DartPad. Здесь вы можете добавить HTML-код в свой проект и создать текстовое поле, например. кнопка. Добавьте некоторую логику в свой код Dart, который прослушивает кнопку и считывает значение текстового поля.
К сожалению, вы не можете использовать библиотеки из таких пакетов, как dart:io, поскольку DartPad поддерживает только библиотеки, которые работают с веб-приложениями.
Чтобы использовать эти библиотеки:
ИЛИ