Как получить пользовательский ввод на dartpad онлайн?

Как я могу получить пользовательский ввод в консоли на 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
0
0
5 957
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Как описано в руководстве для 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 поддерживает только библиотеки, которые работают с веб-приложениями.

Чтобы использовать эти библиотеки:

  1. вы можете скачать SDK

ИЛИ

  1. проверьте следующую ссылку на запустите свой код на VScode: связь

Другие вопросы по теме