- 【Rust练习】11.struct
bluebonnet27
RustC++工作业务rust开发语言后端
练习题来自:https://practice-zh.course.rs/compound-types/struct.html1对于结构体,我们必须为其中的每一个字段都指定具体的值//fixtheerrorstructPerson{name:String,age:u8,hobby:String}fnmain(){letage=30;letp=Person{name:String::from("sun
- 02Typescript接口和类型别名
一朵云有多重
Typescripttypescriptjavascript前端
1.接口使用场景:当一个对象类型被多次使用时,一般会使用接口(interface)来描述对象的类型,达到复用的目的。interfacePerson{name:string;age:number;say():void;hobby?:string;readonlyx:number;}语法规范1.使用interface关键字来声明接口2.属性类型后用;(分号)结尾3.所有属性都不能有实际值,只定义结构类
- 【typescript】 Typescript接口继承 、 Typescript元组类型
春暖花开.,
typescriptjavascript前端
Typescript接口继承interfaceoneport{name:stringage:number}//继承interface新接口名称extendsoneport{hobby:string}描述:如果两个接口之间有相同的属性或方法可以将公共属性或方法抽离出来通过extends继承实现复用注意:1.使用extends继承关键字实现了接口oneport继承新接口名称2.继承后新接口名称就有了o
- VUE2快速学习(必看)
小高求学之路
学习前端vue.js
小帅学习VUE[v-cloak]{display:none;}v-model用于表单的双向绑定{{val}}表单演示问卷调查姓名:性别:男女爱好:打篮球足球籍贯请选择陕西山西北京你的姓名是:{{name}},性别为:{{sex}},爱好是:{{hobby}},籍贯是:{{address}}提交v-bind绑定属性,动态的加载资源v-bind:可以简写成:轮播图效果展示:下一张上一张v-on给元素添
- JavaScript深拷贝(js深拷贝,JavaScript递归函数,实现深拷贝)
北城笑笑
jsvscodeVue.jsjavascriptvue.js前端
简述:JavaScript的深拷贝和浅拷贝大家都比较熟悉,今天来分享下深拷贝,就是使用该函数时,会复制拷贝一份该数据,修改该数据属性,不会改变原有数据,就是把复制的对象所引用的对象全都复制了一遍,具体实现如下;1、定义拷贝对象;varoldObj={ name:"张三", age:18, colors:["skyblue",'plum',"pink"], status:{ hobby:"stud
- iview中实现点击表格单元格完成编辑和查看(span和input切换)
jjbnxy
{{row.name}}{{row.age}}{{row.address}}{{row.city}}{{row.job}}{{row.hobby}}{{row.wife}}exportdefault{data(){return{columns:[{title:'name',key:'name',slot:'name'},{title:'age',key:'age',slot:"age"},{tit
- python基础----基础数据类型(可变)--字典
小峷
python基础pythonwindows开发语言
#字典dict#以键值对的形式存在key:value#字典中的键具有唯一性,不可重复#字典中的键必须是不可变数据类型(数字、字符串、元组)#字典的初始化#1.初始化一个字典并放入键值对dict01={"name":"shen","hobby":"python"}#print(dict01)#2.初始化一个空字典dict02={}#print(dict02)#3.初始化一个字典并放入键值对#l1=[
- ES6中模板语法与字符串处理
小彭努力中
es6javascript前端
ES6提出了“模板语法”的概念。在ES6以前,拼接字符串是很麻烦的事情:varname='css'varcareer='coder'varhobby=['coding','writing']varfinalString='mynameis'+name+',Iworkasa'+career+',Ilove'+hobby[0]+'and'+hobby[1]仅仅几个变量,写了这么多加号,还要时刻小心里面
- javascript设计模式之建造者
放逐的程序猿
JavaScript设计模式javascript前端开发语言
工厂模式不关心过程,只关心结果,这与建造者相反,建造者更关心的是过程,这里我们创建一个基类,其拥有技能跟爱好两个属性,还有两个实例方法用来获取技能跟爱好//基类letHuman=function(param={}){this.skill=param.skill||"保密"this.Hobby=param.hobby||"无"}//基类原型Human.prototype={getSkill(){re
- 根据','拆分数据
Time一柒
useDB01;--建表createtabledbo.tb_hobby(idintnull,namevarchar(10)null,hobbyvarchar(100)null);--插入数据insertintodbo.tb_hobbyvalues('1001','朱梅拉','跑步,踢足球,打篮球');insertintodbo.tb_hobbyvalues('1002','李格策','书法,跑步'
- Django开发_20_form表单前后端关联(2)
19半城煙沙93
#Django开发djangojava数据库
根据上一篇文章的代码,进一步了解掌握GET,POST的运行机制一、实例代码views.py:defshow_reverse(request):ifrequest.method=="GET":returnredirect(reverse("work4:fill"))ifrequest.method=="POST":hobby=request.POST.get("hobby")returnredire
- Vue常用特性
Gao_xu_sheng
vue.jsjavascript前端
1.0表单相关1.1表单基本操作获取文本框的值(略)获取单选框中的值通过v-model男女newVue({data:{//默认会让当前的value值为2的单选框选中gender:2,},})获取复选框中的值通过v-model和获取单选框中的值一样复选框checkbox这种的组合时data中的hobby我们要定义成数组否则无法实现多选爱好:篮球唱歌写代码newVue({data:{//默认会让当前的
- 2019-12-10 德语每日单词
AK蜗牛
维度Breitengrad朋友Freund好的gut这是我的朋友DasistmeinFreund.这是我最好的朋友DasistmeinebesteFreundin.带来bringen她带来她的朋友SiebringtihreFreundemit.这个dieser爱好Hobby靴子Stiefel滑雪skilaufen向下nachunten你带了滑雪板吗?HastdudennSkierdabei?你带了
- vue指令 v-bind v-on v-model v-text v-html
Nikki_u
vue.jsjavascript前端
一、v-bind--给标签属性设置vue变量的值格式:v-bind:原生属性名="vue变量"/:原生属性=“vue变量”1、准备数据data(){return{name:"小vue",obj:{age:9,hobby:"eat",},a:"kk",ceshi:"abc",myLink:"https://www.baidu.com",myImg:"http://www.itcast.cn/2018
- Vue2 props组件通信
知远同学
Vuejavascript开发语言ecmascript
一、父组件向子组件传值1、流程图2、父组件代码importUserInfofrom'./components/UserInfo.vue'exportdefault{data(){return{username:'小帅',age:28,isSingle:true,car:{brand:'宝马',},hobby:['篮球','足球','羽毛球'],}},components:{UserInfo,},}
- vue学习(22)表单数据
哆啦C梦的百宝箱
收集表单数据账号:密码:性别:男女爱好:学习睡觉吃饭所属校区请选择校区北京上海深圳其他信息阅读并接受《用户协议》提交Vue.config.productionTip=false;newVue({el:'#root',data:{account:'',password:'',sex:'',hobby:[],city:'',other:'',agree:''},methods:{submit(){co
- vue 2
m0_71819030
vue.jsjavascript前端
vue快速上手创建vue实例插值表达式{{nickname}}{{nickname.toUpperCase()}}{{nickname+'你好'}}{{age>=18?'成年':'未成年'}}{{friend.name}}{{friend.desc}}{{hobby}}-->{{if}}-->我是p标签-->constapp=newVue({el:'#app',data:{nickname:'to
- yydict属性字典-一种更加方便的方式访问字典
阿常呓语
pythondict
yydict属性字典-一种更加方便的方式访问字典问题引入这篇文章是想介绍最近在使用字典的一种困惑.我希望通过少写几个字符来访问python中字典这种数据结构.比如这个例子:person={'name':'frank','age':18,'hobby':'swimming'}在python中字典的定义如上面的例子,如果我希望访问person的姓名,我可以使用pseron['name'],或者使用pe
- 表单输入绑定
牛耀
使用v-model(双向数据绑定)自动收集数据text/textareacheckboxradioselectHTML:用户名:密码:性别:女男爱好:篮球足球乒乓城市:未选择{{city.name}}介绍:script:newVue({el:'#demo',data:{username:'',pwd:'',gender:'女',hobby:['foot'],allCitys:[{id:1,name
- vue源码解析之(第二步 模板编译)
h960822
vue.js前端javascript
####解析模板转化为字符串DOM结构的过程Document{{name}}{{age}}constvm=newVue({data(){return{name:'zs',age:12,addres:['北京市','昌平区','回龙观'],hobby:['a',{b:1}],}},template:`123`//template渲染模板el:'#app'//将数据解析到el元素上})vm.$moun
- Windows脚本自动化工具——Update
我重来不说话
奇怪脚本渗透工具编写自动化pythongolang
Hobby脚本自动化工具功能简介:可以按照指定编排的配置文件,按顺序执行并监听使用场景:可以用在前期信息收集的步骤上,将一些常见的脚本进行归纳,并编写成配置文档进行自动化处理优点:可以扩展性强,只需要输入命令脚本,命令是多种多样的,但有些工具中执行的命令是固化的缺点:内置转化工具少,如果输出的文档不能是指定的名称,则工具在自动化链条上无法进行有效连接详细介绍:此工具分为hobby.exe+go.h
- MySQL中json_set()函数的使用
Lemon Aourase
MYSQL之Json数据库mysql
json_set()这个函数在我看来,好像具备两个作用,一个是插入作用,能替代json_insert()函数,另一个就是替换作用,能替代json_replace()函数。下面具体来看:插入作用:数据库中id=16的数据如下所示:使用json_insert()函数后,如下所示,插入了age:30接下来使用json_set()函数,向id=16的data中添加hobby,(注:这里可能有些伙伴会好奇,
- Vue 表单控制 生命周期
Tao.686
vuevue.jsjavascript前端
Vue表单控制生命周期文章目录Vue表单控制生命周期1、表单控制2、购物车案例2.1、for循环的方法归纳2.2、购物车3、v-model进阶(了解)4、vue生命周期5、与后端交互扩展(django与axios交互)1、表单控制input:checkbox(单选,多选),radio(单选)Title表单控制用户名:密码:记住密码男女未知爱好:篮球足球乒乓球橄榄球{{hobby}}newVue({
- 美团点评秋招前端测评分享
小超电子笔记
面试题前端
一.选择题1.甲乙二人各自加工一批同样数量的零件,甲完成一半时,乙完成150个,甲全部完成时,乙完成全部的5/6,求这批零件一共有(C)个A.320B.400C.360D.4202.分析如下代码,以下选项说法错误的是(A)functionstu(name,age,hobby){this.pname=name;this.page=age;this.hobby=hobby;this.say=funct
- es6语法解构赋值以及解构赋值作用
小白蛋挞
es6javascript前端vue.js
1、对对象的解构letperson={name:'xiaoliang',age:18,hobby:'sing'}//es5//letname=person.name;//letage=person.age;es6let{//name,不完全解构age,hobby,}=personconsole.log(age,hobby);let{name,...res//剩余参数}=personconsole.
- uni-form的下拉框是怎么做的?
南漂一时
前端vue.jsjavascript
uni-forms组件一般由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据。提交提交删除新增域名提交exportdefault{data(){return{//基础表单数据baseFormData:{name:'',age:'',introduction:'',sex:2,hobby:[5],datetimesingle:1627529992399,city:'',skills
- Day02-Vue
前端拓海
vue.js前端javascript
一.v-model的使用Document姓名:电话:密码:性别:男女保密爱好:敲代码睡觉篮球意向城市:深圳杭州上海北京个人特长:letapp=newVue({el:"#app",data:{username:"",phone:"",password:"",sex:'0',hobby:['02'],city:"p02",desc:""}})二.事件修饰符Document.father{width:3
- centos7 一键安装zabbix-server (4.0版本)脚本
泗渡
#!/bin/bash#author:hobby#Zabbixone-clickinstallationscriptcentos7zabbix4.0使用#Turnoffthefirewalldsystemctlstopfirewalld#Turnoffthefirewalldandstartautomaticallysystemctldisablefirewalld#Temporarilyturn
- Spark Machine Learning进行数据挖掘的简单应用(兴趣预测问题)
冲鸭嘟嘟可
spark机器学习数据挖掘
数据挖掘的过程数据挖掘任务主要分为以下六个步骤:1.数据预处理2.特征转换3.特征选择4.训练模型5.模型预测6.评估预测结果数据准备这里准备了20条关于不同地区、不同性别、不同身高、体重…的人的兴趣数据集(命名为hobby.csv):id,hobby,sex,address,age,height,weight1,football,male,dalian,12,168,552,pingpang,f
- 使用 JavaScript 上传和处理不同的文件
lio_zero
在本文中,我们将研究带有#uploadID的form元素。JSON文件它包含一个字段#file,带有一种type类型。使用file类型的字段可以指定accept参数,并使用逗号分隔的接受文件类型列表。出于我们的目的,我们将把上传限制为.json文件。文件上传上传我将使用一个简单的userInfo.json文件进行测试。{"name":"O.O","age":"18","hobby":["Eat",
- Java开发中,spring mvc 的线程怎么调用?
小麦麦子
springmvc
今天逛知乎,看到最近很多人都在问spring mvc 的线程http://www.maiziedu.com/course/java/ 的启动问题,觉得挺有意思的,那哥们儿问的也听仔细,下面的回答也很详尽,分享出来,希望遇对遇到类似问题的Java开发程序猿有所帮助。
问题:
在用spring mvc架构的网站上,设一线程在虚拟机启动时运行,线程里有一全局
- maven依赖范围
bitcarter
maven
1.test 测试的时候才会依赖,编译和打包不依赖,如junit不被打包
2.compile 只有编译和打包时才会依赖
3.provided 编译和测试的时候依赖,打包不依赖,如:tomcat的一些公用jar包
4.runtime 运行时依赖,编译不依赖
5.默认compile
依赖范围compile是支持传递的,test不支持传递
1.传递的意思是项目A,引用
- Jaxb org.xml.sax.saxparseexception : premature end of file
darrenzhu
xmlprematureJAXB
如果在使用JAXB把xml文件unmarshal成vo(XSD自动生成的vo)时碰到如下错误:
org.xml.sax.saxparseexception : premature end of file
很有可能时你直接读取文件为inputstream,然后将inputstream作为构建unmarshal需要的source参数。InputSource inputSource = new In
- CSS Specificity
周凡杨
html权重Specificitycss
有时候对于页面元素设置了样式,可为什么页面的显示没有匹配上呢? because specificity
CSS 的选择符是有权重的,当不同的选择符的样式设置有冲突时,浏览器会采用权重高的选择符设置的样式。
规则:
HTML标签的权重是1
Class 的权重是10
Id 的权重是100
- java与servlet
g21121
servlet
servlet 搞java web开发的人一定不会陌生,而且大家还会时常用到它。
下面是java官方网站上对servlet的介绍: java官网对于servlet的解释 写道
Java Servlet Technology Overview Servlets are the Java platform technology of choice for extending and enha
- eclipse中安装maven插件
510888780
eclipsemaven
1.首先去官网下载 Maven:
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.2.3-bin.tar.gz
下载完成之后将其解压,
我将解压后的文件夹:apache-maven-3.2.3,
并将它放在 D:\tools目录下,
即 maven 最终的路径是:D:\tools\apache-mave
- jpa@OneToOne关联关系
布衣凌宇
jpa
Nruser里的pruserid关联到Pruser的主键id,实现对一个表的增删改,另一个表的数据随之增删改。
Nruser实体类
//*****************************************************************
@Entity
@Table(name="nruser")
@DynamicInsert @Dynam
- 我的spring学习笔记11-Spring中关于声明式事务的配置
aijuans
spring事务配置
这两天学到事务管理这一块,结合到之前的terasoluna框架,觉得书本上讲的还是简单阿。我就把我从书本上学到的再结合实际的项目以及网上看到的一些内容,对声明式事务管理做个整理吧。我看得Spring in Action第二版中只提到了用TransactionProxyFactoryBean和<tx:advice/>,定义注释驱动这三种,我承认后两种的内容很好,很强大。但是实际的项目当中
- java 动态代理简单实现
antlove
javahandlerproxydynamicservice
dynamicproxy.service.HelloService
package dynamicproxy.service;
public interface HelloService {
public void sayHello();
}
dynamicproxy.service.impl.HelloServiceImpl
package dynamicp
- JDBC连接数据库
百合不是茶
JDBC编程JAVA操作oracle数据库
如果我们要想连接oracle公司的数据库,就要首先下载oralce公司的驱动程序,将这个驱动程序的jar包导入到我们工程中;
JDBC链接数据库的代码和固定写法;
1,加载oracle数据库的驱动;
&nb
- 单例模式中的多线程分析
bijian1013
javathread多线程java多线程
谈到单例模式,我们立马会想到饿汉式和懒汉式加载,所谓饿汉式就是在创建类时就创建好了实例,懒汉式在获取实例时才去创建实例,即延迟加载。
饿汉式:
package com.bijian.study;
public class Singleton {
private Singleton() {
}
// 注意这是private 只供内部调用
private static
- javascript读取和修改原型特别需要注意原型的读写不具有对等性
bijian1013
JavaScriptprototype
对于从原型对象继承而来的成员,其读和写具有内在的不对等性。比如有一个对象A,假设它的原型对象是B,B的原型对象是null。如果我们需要读取A对象的name属性值,那么JS会优先在A中查找,如果找到了name属性那么就返回;如果A中没有name属性,那么就到原型B中查找name,如果找到了就返回;如果原型B中也没有
- 【持久化框架MyBatis3六】MyBatis3集成第三方DataSource
bit1129
dataSource
MyBatis内置了数据源的支持,如:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<data
- 我程序中用到的urldecode和base64decode,MD5
bitcarter
cMD5base64decodeurldecode
这里是base64decode和urldecode,Md5在附件中。因为我是在后台所以需要解码:
string Base64Decode(const char* Data,int DataByte,int& OutByte)
{
//解码表
const char DecodeTable[] =
{
0, 0, 0, 0, 0, 0
- 腾讯资深运维专家周小军:QQ与微信架构的惊天秘密
ronin47
社交领域一直是互联网创业的大热门,从PC到移动端,从OICQ、MSN到QQ。到了移动互联网时代,社交领域应用开始彻底爆发,直奔黄金期。腾讯在过去几年里,社交平台更是火到爆,QQ和微信坐拥几亿的粉丝,QQ空间和朋友圈各种刷屏,写心得,晒照片,秀视频,那么谁来为企鹅保驾护航呢?支撑QQ和微信海量数据背后的架构又有哪些惊天内幕呢?本期大讲堂的内容来自今年2月份ChinaUnix对腾讯社交网络运营服务中心
- java-69-旋转数组的最小元素。把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素
bylijinnan
java
public class MinOfShiftedArray {
/**
* Q69 旋转数组的最小元素
* 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。
* 例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。
*/
publ
- 看博客,应该是有方向的
Cb123456
反省看博客
看博客,应该是有方向的:
我现在就复习以前的,在补补以前不会的,现在还不会的,同时完善完善项目,也看看别人的博客.
我刚突然想到的:
1.应该看计算机组成原理,数据结构,一些算法,还有关于android,java的。
2.对于我,也快大四了,看一些职业规划的,以及一些学习的经验,看看别人的工作总结的.
为什么要写
- [开源与商业]做开源项目的人生活上一定要朴素,尽量减少对官方和商业体系的依赖
comsci
开源项目
为什么这样说呢? 因为科学和技术的发展有时候需要一个平缓和长期的积累过程,但是行政和商业体系本身充满各种不稳定性和不确定性,如果你希望长期从事某个科研项目,但是却又必须依赖于某种行政和商业体系,那其中的过程必定充满各种风险。。。
所以,为避免这种不确定性风险,我
- 一个 sql优化 ([精华] 一个查询优化的分析调整全过程!很值得一看 )
cwqcwqmax9
sql
见 http://www.itpub.net/forum.php?mod=viewthread&tid=239011
Web翻页优化实例
提交时间: 2004-6-18 15:37:49 回复 发消息
环境:
Linux ve
- Hibernat and Ibatis
dashuaifu
Hibernateibatis
Hibernate VS iBATIS 简介 Hibernate 是当前最流行的O/R mapping框架,当前版本是3.05。它出身于sf.net,现在已经成为Jboss的一部分了 iBATIS 是另外一种优秀的O/R mapping框架,当前版本是2.0。目前属于apache的一个子项目了。 相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mappi
- 备份MYSQL脚本
dcj3sjt126com
mysql
#!/bin/sh
# this shell to backup mysql
#
[email protected] (QQ:1413161683 DuChengJiu)
_dbDir=/var/lib/mysql/
_today=`date +%w`
_bakDir=/usr/backup/$_today
[ ! -d $_bakDir ] && mkdir -p
- iOS第三方开源库的吐槽和备忘
dcj3sjt126com
ios
转自
ibireme的博客 做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽。 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。 首先整理了一份
Github上排名靠
- html wlwmanifest.xml
eoems
htmlxml
所谓优化wp_head()就是把从wp_head中移除不需要元素,同时也可以加快速度。
步骤:
加入到function.php
remove_action('wp_head', 'wp_generator');
//wp-generator移除wordpress的版本号,本身blog的版本号没什么意义,但是如果让恶意玩家看到,可能会用官网公布的漏洞攻击blog
remov
- 浅谈Java定时器发展
hacksin
java并发timer定时器
java在jdk1.3中推出了定时器类Timer,而后在jdk1.5后由Dou Lea从新开发出了支持多线程的ScheduleThreadPoolExecutor,从后者的表现来看,可以考虑完全替代Timer了。
Timer与ScheduleThreadPoolExecutor对比:
1.
Timer始于jdk1.3,其原理是利用一个TimerTask数组当作队列
- 移动端页面侧边导航滑入效果
ini
jqueryWebhtml5cssjavascirpt
效果体验:http://hovertree.com/texiao/mobile/2.htm可以使用移动设备浏览器查看效果。效果使用到jquery-2.1.4.min.js,该版本的jQuery库是用于支持HTML5的浏览器上,不再兼容IE8以前的浏览器,现在移动端浏览器一般都支持HTML5,所以使用该jQuery没问题。HTML文件代码:
<!DOCTYPE html>
<h
- AspectJ+Javasist记录日志
kane_xie
aspectjjavasist
在项目中碰到这样一个需求,对一个服务类的每一个方法,在方法开始和结束的时候分别记录一条日志,内容包括方法名,参数名+参数值以及方法执行的时间。
@Override
public String get(String key) {
// long start = System.currentTimeMillis();
// System.out.println("Be
- redis学习笔记
MJC410621
redisNoSQL
1)nosql数据库主要由以下特点:非关系型的、分布式的、开源的、水平可扩展的。
1,处理超大量的数据
2,运行在便宜的PC服务器集群上,
3,击碎了性能瓶颈。
1)对数据高并发读写。
2)对海量数据的高效率存储和访问。
3)对数据的高扩展性和高可用性。
redis支持的类型:
Sring 类型
set name lijie
get name lijie
set na
- 使用redis实现分布式锁
qifeifei
在多节点的系统中,如何实现分布式锁机制,其中用redis来实现是很好的方法之一,我们先来看一下jedis包中,有个类名BinaryJedis,它有个方法如下:
public Long setnx(final byte[] key, final byte[] value) {
checkIsInMulti();
client.setnx(key, value);
ret
- BI并非万能,中层业务管理报表要另辟蹊径
张老师的菜
大数据BI商业智能信息化
BI是商业智能的缩写,是可以帮助企业做出明智的业务经营决策的工具,其数据来源于各个业务系统,如ERP、CRM、SCM、进销存、HER、OA等。
BI系统不同于传统的管理信息系统,他号称是一个整体应用的解决方案,是融入管理思想的强大系统:有着系统整体的设计思想,支持对所有
- 安装rvm后出现rvm not a function 或者ruby -v后提示没安装ruby的问题
wudixiaotie
function
1.在~/.bashrc最后加入
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
2.重新启动terminal输入:
rvm use ruby-2.2.1 --default
把当前安装的ruby版本设为默