开始ruby旅程,开心快乐的学习

用了一天的时间来装好了ruby需要的各种东东之后,开始学习基础语法,由于之前有java基础,所以学起来来感觉也不难,但也有一两个地方也不怎么懂。

首先使用eclipse插件来开发ruby.

建立了一个ruby project,下面新建一个hi.rb。作为一个程序员,开始的和一个程序永远是:hello world.所以我决定先从这个输出开始,但不是hello world,是hello ruby。哈哈

puts "hello ruby"

很简单的一个输出语句,但意义非常大,是开始学习一门新语言的里程碑,虽然它只有几个字,但表达出了个人学习ruby的决心和……(有点装13了,被天朝各种报告害的)

于是又开始了一个看起来很牛的程序,我要开始一个计算机

puts "number1:"
number1=gets
puts "opator:"
op=gets
puts "number2:"
number2=gets
case op.chomp
  when "+"
    result=number1.to_i+number2.to_i
  when "-"
    result=number1.to_i-number2.to_i
  when "*"
    result=number1.to_i*number2.to_i
  when "/"
    result=number1.to_i/number2.to_i
end
puts "#{number1.chomp} #{op.chomp} #{number2.chomp} = #{result}"

一看,这不就是cmd里面经常用的批处理吗?看来ruby果然是借鉴了各种语言,向各种语言致敬.......呀!!!!

但有eclipse里面直接运行的话,就会出现一个不知道什么原因的问题,运行起来之后不会出现什么东西,必须把所有的东西输入完成后才会出现我puts出来的,不知道是不是我的插件没有装好的原因,也不管了,反正不懂,先用DOS来运行,直接跳进去,ruby -c hi.rb,假装的检查下有没有错误,然后ruby hi.rb。运行起来

美其名曰一个计算器就做好了。so easy!!!这里看来学到的就是有一个输出和获取控制台输入了。于是又开始学习一个高级的东西

各种变量的定义什么,$,@,@@,_字母,大写学量,这些都是些基础,看一下就可以了。经常用到就会熟悉;

于是第一个要用点心的来了。ruby的三大基础数据类型:数值型、范围、符号,第一个比较好理解,后面的是以前没有接触过的

数值类型又分为两类:整数浮点

整数又包括:Bignum和Fixnum。这两个的区别也没多大,Bignum表示的范围是2的30次方。Fixnum表示的范围是2的30次方-1;所以也就没有多大区别,反正也是会自动转换

 浮点只要学过程序的人都知道,比如12.3就是浮点

后面这两个对于java程序员来说比较难理解,范围还好,就是表示一个数据的范围,比如1..10表示1~10包括两端的,1...10表示1~10,但不包括10,这是Rang类的实例,里面包括有很多,相比java灵活多了,比如step/each/reject/select.......等。

对应的运行效果:

其中reject表示,从数组中减去满足条件的数据,select就是选择出满足条件的数据

接下来就是符号了,感觉很怪异,怎么还有这样的数据类型。对于符号的定义:符号对象就是一个字符串,一个方法,一个类或者一个标识符的内部表示形式,创建一个符号也就是在对象前面加一个冒号:就行了。比如

结果都为true。也就表明只要对象名相同,符号对象就相同,字符串和符号对象是一一对应的。

另外符号对象和字符串对象可以用方法to_s,和to_sym来相互转换。

比较难理解的就是符号对象和符号对象内容,具体的结果和原因如里面的注释所描述的那样

最后一个内容就是各种运算符,逻辑、比较赋值等的比较。

值的注意的就是这几点:===还有一个**。第一个的特殊性在于运算的选择性,如果左边为一个普通数据就和==相同,只有比较的功能,如果左边是一个Rang.就表示右边是否包括在左边的范围内,如(1...19)===10结果为true。后一个**是ruby特有的运算符,表示幂运算,2**3=8,也就是2的3次方

赋值的比较好理解,但也是需要注意,尤其是数组赋值

下面这个是交换赋值,比较特殊,因为不需要第3方的变量

结果为

表示真的很神奇,是不是他源码里面其实还有一个第三方变量呢?现在还没有到达看源码的水平,先用着,不管原因。

如果是单纯的数组赋值还是比较容易懂,但如果要嵌套的话就比较不好理解,至少现在得用笔在本子上画几个才能得到最后的结果

到现在为止,总结下学习的过程就是感觉ruby比较神奇,不知道到以后学到ruby on rails的会不会有更神奇的东西出现呢,听说是可以全自动生成一个网站,嗯,wonderful!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值