下载第三方库
在下载之前确保你有下载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输入你要查找的人的关系。以 '的' 分隔。
比如,

想运行程序的话,需要到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
};
这里就不演示了。
网友评论