JS读取用户命令行输入的信息

这阵子在看牛客网上看一些编程题,发现有一部分的编程题是需要读取用户输入,并输出结果的。在我开发前端以来,使用JS读取用户输入的内容好像从没用过。所以一开始的我一头雾水。网上有介绍说Node的方法readline可以逐行读取用户输入信息。于是便在此对readline方法进行总结

readline使用

// 1.引入readline模块
const readline = require('readline');
// 2.创建 Interface 类的实例
const rl = readline.createInterface({
  input: process.stdin,  // 输入的流
  output: process.stdout // 输出的流
});
// 监听line事件,读取用户输入的一行内容(用户敲回车键之前的所有内容)
rl.on('line', function(input){
	// input便是用户输入的一行内容
	console.log(`接收到:${input}`);
})

用户输入的内容通过上述代码便可以获取到了。而在编程题中还需要得到输出,通常情况下console.log()在控制台打印的结果也就是输出的结果。也就是说在上面的代码中console.log()内放置你实现的函数代码。将用户输入作为参数传递就可以了。

在读取用户输入内容的过程中,程序不会停止,也就是在命令行里一直监听用户的输入。想要关闭监听用户的输入,可以使用rl的close方法:

rl.close()

该方法是Javascript在Node引擎中读取用户输入的
还有V8引擎,其代码如下:

while(line=readline()){
    var lines = line.split(' ');
    var a = parseInt(lines[0]);
    var b = parseInt(lines[1]);
    print(a+b);
}

其他更多的编程语言读取用户输入可以参考如下:

Java:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in); while (in.hasNextInt()) { //注意while处理多个case  int a = in.nextInt();
            int b = in.nextInt();
            System.out.println(a + b);
        }
    }
}

Python:

import sys
try:
    while True:
        line = sys.stdin.readline().strip()
        if line == '':
            break
        lines = line.split()
        print int(lines[0]) + int(lines[1])
except:
    pass

Python3:

import sys 
for line in sys.stdin:
    a = line.split()
    print(int(a[0]) + int(a[1]))

Go:

package main
import (
    "fmt"
)
func main() {
  a:=0
  b:=0
  for {
        n, _ := fmt.Scan(&a,&b)
        if n == 0 {
                break
        } else {
                fmt.Printf("%d\n",a+b)
        }
  }
}

参考连接: https://www.nowcoder.com/discuss/276

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Node.js 的 readline 模块可以用来从命令行或者其他可读流中读取输入,并且提供了一些方法和属性来控制输入和输出。 除了读取用户输入之外,readline 模块还可以用来实现命令行界面(CLI)程序的交互式输入和输出,例如在终端中提示用户输入信息或者显示进度条。 此外,readline 模块还可以用来从文件或者其他可读流中逐行读取数据,而不是一次性读取整个文件。这对于大型文件的处理是很有用的,因为它可以避免占用过多的内存。 总的来说,readline 模块可以用来实现各种交互式命令行程序或者从可读流中逐行读取数据的功能。 ### 回答2: Node.js中的readline模块除了读取用户输入之外,还有以下几个常见的用途: 1. 逐行读取文件:readline模块可以逐行读取文本文件。通过创建逐行读取器,可以将文本文件一行一行读取并进行处理,而不需要一次性读取整个文件到内存中。这在处理大型文件时非常有用,可以减少内存的使用。 2. 文件写入:readline模块除了可以读取文件,还可以用于写入文件。通过创建逐行写入器,可以将文本逐行写入到文件中。这对于生成或修改文本文件非常方便。 3. 实时日志分析:readline模块结合其他模块,可以用于实时分析日志文件。通过持续地读取日志文件的新增内容,并进行分析和处理,可以实现实时的日志监控和分析功能。 4. 数据转换和处理:readline模块可以用于将文本数据转换成其他格式,并进行相关的处理。例如,可以读取CSV文件并将其转换成JSON格式,或者读取日志文件并提取特定的信息。 总结来说,Node.js中的readline模块除了读取用户输入之外,在文件读写、实时日志分析和数据处理等场景下也具有重要的作用。这个模块是Node.js中处理文本数据的重要工具之一。 ### 回答3: Node.js中的readline模块除了读取用户输入之外还有很多其他的用途。以下是几个常见的用途: 1. 读取文件行:readline模块可以用于逐行读取文件内容,而不需要一次性将整个文件加载到内存中。这对于处理大型文件非常有用,可以减少内存的使用。 2. 实时日志记录:readline模块可以实时读取日志文件,并对每一行日志进行处理。这对于对日志进行实时监控和分析很有帮助。 3. 数据处理:通过readline模块,你可以逐行读取和处理CSV文件、JSON文件等结构化的数据。这样就可以方便地对大量数据进行处理和分析。 4. 网络通信:在网络编程中,readline模块可以用于读取网络连接中的数据流。例如,可以使用readline模块来处理TCP服务器和客户端之间的通信。 5. 命令行交互:readline模块可以用于在命令行中与用户进行交互。除了读取用户输入之外,还可以根据用户输入来执行不同的操作,例如显示菜单、执行命令等。 总之,Node.js中的readline模块在处理用户输入读取文件内容、处理数据、网络通信等方面都提供了方便的功能,使得我们可以更高效地开发各种应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值