我正在学习node.js并需要readline用于项目.我直接从readline模块示例中获得以下代码.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('What do you think of Node.js? ', (answer) => {
// TODO: Log the answer in a database
console.log('Thank you for your valuable feedback:', answer);
rl.close();
});
Run Code Online (Sandbox Code Playgroud)
但是当我通过node try.js命令运行代码时
,它会不断发出如下错误:
rl.question('What is your favorite food?', (answer) => {
^^
SyntaxError: Unexpected token =>
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain …Run Code Online (Sandbox Code Playgroud) 我不明白我在这里缺少什么,但它似乎Console.ReadKey()仍然是活动的,并导致控制台Console.ReadLine()在调用后使用时输入两次Console.ReadKey().
我做了ReadKey()一个选择后上下搜索了如何逃避,但无济于事.
为了澄清,这是出乎意料的行为:当控制台弹出时,会向用户显示这三个选项作为示例.当用户输入"u"或"h"时,控制台不会等待; 它立即执行操作而无需用户按下Enter.
我做错了吗?
static void Main(string[] args)
{
Console.WriteLine("u up");
Console.WriteLine("h home");
Console.WriteLine("x exit");
Console.WriteLine("---------------------------------");
Console.WriteLine(" [Enter Your Selection]");
Console.WriteLine("---------------------------------");
Console.Write("Enter Selection: ");
ConsoleKeyInfo selection;
Console.TreatControlCAsInput = true;
int value;
selection = Console.ReadKey();
if (char.IsDigit(selection.KeyChar))
{
value = int.Parse(selection.KeyChar.ToString());
value -= 1;
Console.WriteLine("You've entered {0}", value);
}
else
{
switch (selection.Key)
{
case ConsoleKey.U:
blurp();
break;
case ConsoleKey.H:
blurp();
break;
case ConsoleKey.X:
System.Environment.Exit(0);
break;
default:
Console.WriteLine("Invalid Input...");
break; …Run Code Online (Sandbox Code Playgroud) 有什么办法可以让这个程序通过使用 Console.ReadLine(); 来显示两个文本吗?两次?
我在下面提供了我的代码,每当我调试时,我只会得到第一个上面提供的代码,但是当我删除第一个 Console.ReadLine(); 一切都会显示出来。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyFirstProject
{
class Program
{
static void Main(string[] args)
{
String name= "John Berr";
String country = "USA";
String city = "Unknown";
String age = "15";
Console.WriteLine("My name is " + name);
Console.WriteLine("The Country I reside in is " + country);
Console.WriteLine("The city I reside in is " + city);
Console.WriteLine("I am " + age +" years old");
Console.ReadLine();
{
Console.WriteLine("Hello");
Console.ReadLine();
} …Run Code Online (Sandbox Code Playgroud) 我正在从Python切换到C#,我遇到了这个ReadLine()功能的问题.如果我想要求用户输入Python,我就是这样做的:
x = int(input("Type any number: "))
Run Code Online (Sandbox Code Playgroud)
在C#中,这变为:
int x = Int32.Parse (Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)
但是如果我输入这个,我会收到一个错误:
int x = Int32.Parse (Console.ReadLine("Type any number: "));
Run Code Online (Sandbox Code Playgroud)
如何让用户在C#中输入内容?
我想问用户他/她的体重; 例如;
Console.Write("Please enter your weight: {I want it to be inserted here} kg");
Run Code Online (Sandbox Code Playgroud)
这里输入将在kg之后插入,虽然我希望它在"kg"之前,以便用户可以知道预期有kg值,并且不需要进一步的细节(例如kg/lbs .. )
提前致谢.
我有这样的事情:
Console.WriteLine("Y =");
Y = Convert.ToInt32(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)
它显示如下
Y=
//and here i have to input my value
Run Code Online (Sandbox Code Playgroud)
我想把我的值放在同一行
Y= //here to input my value
Run Code Online (Sandbox Code Playgroud)
有小费吗?
我开始学习C#,但遇到了一个问题。该ReadLine()方法不会因用户输入而暂停。我刚开始使用 C#,它适用于其他人的程序,所以我不知道为什么。我在 Mac 上使用 Xamarin。
下面是一个做示例代码不工作:
using System;
namespace LearningC
{
public class LearningSharp
{
public static void Main (String[] args)
{
Console.WriteLine (Console.ReadLine ());
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下代码
char c1 = (char)Console.Read();
Console.WriteLine("Enter a string.");
string instr = Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
它需要一个值c1,然后打印"输入一个字符串".然而,当我尝试输入一个字符串时,它看起来像是一样ReadKey(),这意味着只要按下任何键,它就显示出instr一个空值.
如果我删除第一行(char c1 = (char)Console.Read();),程序可以正常工作.
为什么是这样?
我遇到了这两个API,用于在C#中的简单控制台应用程序中读取用户的输入:
System.Console.ReadLine()System.Console.In.ReadLine()这是一个小代码片段,我试图利用这两个:
namespace StackOverflow
{
class Program
{
static void Main(string[] args)
{
var input1 = System.Console.ReadLine();
var input2 = System.Console.In.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个程序时,两行代码完全相同,即我在控制台上输入的任何字符串都会返回,直到我点击返回键.一个快速的谷歌搜索只提取了一个区分Console.Read和Console.ReadLine API的链接.任何人都可以帮助我理解这两个单独的API做同样事情的意义,即接收用户输入吗?
我的代码有点问题,我写的是用于从F#中的控制台读取输入作为行序列.我的问题是它只读取5行文本然后结束但它应该读取更多行.如果有人告诉我这段代码有什么问题会很好.
let allList = new List<string>()
let rec readlines () = seq {
let line = Console.ReadLine()
let b = allList.Add(line)
if line <> null then
yield line
yield! readlines ()
}
let b = readlines()
printf "%A" b
Run Code Online (Sandbox Code Playgroud) console.readline ×10
c# ×8
.net ×2
console ×2
f# ×1
input ×1
javascript ×1
node.js ×1
readline ×1
recursion ×1
user-input ×1