美文网首页
nodejs-实现亲戚关系计算器

nodejs-实现亲戚关系计算器

作者: AndyDennisRob | 来源:发表于2020-03-26 11:30 被阅读0次

下载第三方库

在下载之前确保你有下载nodejs。
如果没下载可到nodejs官网,下载,并建议配置好环境变量。
npm建议设置一下镜像。不明白可以看看之前我写的一篇文章pip镜像管理和npm镜像管理.

然后在项目根目录下的命令行敲

npm install relationship

npm install relationship.js

书写代码

项目结构


目录

主要看src里面的,src需要自己新建。
.gitignore只是我上传代码不想把node_modules也传上去而写的文件。readMe.txt只是我怕忘了怎么用,写的提醒自己的备忘文件。
大家如果想在pakage-lock.json那也把相关依赖写进去。只需在安装时输入(如果你已安装也可在根目录在运行一次)

npm install relationship  --save



下面我们看看主要的calc.js。

const rs = require("relationship.js");
const fs = require('fs');


// 创建可读流
var readerStream = fs.createReadStream('input.txt');
// 设置编码为 utf-8
readerStream.setEncoding('UTF8');
var data = '';

readerStream.on('data', function(chunk) {
    data += chunk;
 });
 
 readerStream.on('end',function(){
    // console.log(data);
    var options = {text:'',sex:1};
    options.text = data;
    options.sex = 1;  // 1表示自己的性别为男性
    
    if(process.argv.length >= 3){
        options.sex = process.argv[2];
    }
    var result = rs(options);
    sexList = ['女生', '男生'];
    console.log("我是 ", sexList[options.sex]);
    console.log('我的 ' + data + ' 是我的 ' + result[0]);
 });
 
 readerStream.on('error', function(err){
    console.log(err.stack);
 });

大致就是引入relationship这个第三方库。借助这个实现推理。
这里要读取文件,所以把fs这个全局变量引入(也是个第三方模块,只不过这个在你安装node时就有了,就像你安装python时比如os这个库就自带了一样)



input.txt输入你要查找的人的关系。以 '的' 分隔。
比如,

input.txt



想运行程序的话,需要到src的目录下,输入

node calc.js 

因为我命名为calc.js了。node calc.js后面可以加1或0.
加1代表男性,加0代表女性。由于考虑到中国男性偏多,所以默认不输入就是男性了,这里没有性别歧视的意思哦~~。


运行结果

我们这里实现的只是我们怎么叫对方,其实还可以实现对方叫我们的称呼,只要在代码里处理一下传入的json对加一个
reverse:true就可以了。

参数options结构为:

var options = {
    text:'',
    sex:-1,
    type:'default',     //为'chain'时,reverse无效
    reverse:false
};

这里就不演示了。

感谢观看~~~

相关文章

网友评论

      本文标题:nodejs-实现亲戚关系计算器

      本文链接:https://www.haomeiwen.com/subject/eebquhtx.html