nodejs-实现亲戚关系计算器

下载第三方库

在下载之前确保你有下载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
};

这里就不演示了。

感谢观看~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,249评论 0 2
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,654评论 1 37
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 5,448评论 4 31
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,876评论 0 3
  • NodeJS的基本概念 NodeJS是什么? `官网:https://nodejs.org/en/ Node.js...
    getElementsByMK阅读 16,139评论 0 22

友情链接更多精彩内容