码迷,mamicode.com
首页 > Web开发 > 详细

教你ruby快速入门的方法

时间:2016-04-13 23:54:41      阅读:708      评论:0      收藏:0      [点我收藏+]

标签:

在学习新的编程语言的时候,我们一定要弄清楚一下几个问题:

语言的类型模型是什么?

强类型/弱类型,静态类型/动态类型

类型模型会改变问题的处理方式,控制语言的运行方式

语言的编程范型是什么?

面向对象、函数式、过程式等等

怎样和语言交互?

编译、解释

语言的判断结构(decision construct)和核心数据结构是什么?

哪些核心特性让这门语言与众不同?

 

因为每门编程语言都有自己的一套惯用方法,各有所长,各有缩短,通过学习不同的编程语言,你会明白,哪门语言最适宜解决自己当下关注的问题。下面就以我正在学习ruby编程语言为例,给大家说说,我会关注哪些问题,就一起来看看我对ruby编程语言(http://www.maiziedu.com/course/ruby/关注的几个知识点。

 

Ruby编程语言的简介

 

由松本行弘(Yukihiro Matsumoto)大约在 1993 年发明

脚本语言、解释型、面向对象、动态类型

现在我的机器上安装的ruby 版本是 2.1,可以使用下面的命令来查询:

$ ruby -v

ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-darwin14.0]

具体的安装不做太多介绍,在官方网站查阅不同平台的相关资料即可,下面是一个简单的例子

irb(main):001:0> properties = [’good’, ’bad’, ’clever’, ’stupid’]

=> ["good", "bad", "clever", "stupid"]

irb(main):002:0> properties.each {|property| puts "I am #{property}."}

I am good.

I am bad.

I am clever.

I am stupid.

=> ["good", "bad", "clever", "stupid"]

留意一下 ruby 是如何进行遍历及值替换的,之后我们也会深入了解。需要注意的是,这种写起来方便的语言,一般来说效率都不会太高。但是开发效率与执行效率常常是鱼与熊掌,很多时候不得不进行选择。

我们再来看一个长一点的例子:

irb(main):001:0> puts ’hello, wdx’

hello, wdx

=> nil

irb(main):002:0> friend = ’Snake’

=> "Snake"

irb(main):003:0> puts "hello, #{friend}"

hello, Snake

=> nil

irb(main):004:0> friend = ’Queit’

=> "Queit"

irb(main):005:0> puts "hello, #{friend}"

hello, Queit

=> nil

这里我们可以看到以下几点:

不用声明变量

每条 ruby 代码都会返回某个值

单引号表示直接解释

双引号包含的字符串会进行字符串替换

编程模型

 

Ruby 是一门纯面向对象语言。从下面的例子就可以看出来:

irb(main):001:0> 233

=> 233

irb(main):002:0> 233.class

=> Fixnum

irb(main):003:0> 233 + 233

=> 466

irb(main):004:0> 233.methods

=> [:to_s, :inspect, :-@, :+, :-, :*, :/, :div, :%, :modulo, :divmod, :fdiv, :**, :abs, :magnitude, :==, :===, :<=>, :>, :>=, :<, :<=, :~, :&, :|, :^, :[], :<<, :>>, :to_f, :size, :bit_length, :zero?, :odd?, :even?, :succ, :integer?, :upto, :downto, :times, :next, :pred, :chr, :ord, :to_i, :to_int, :floor, :ceil, :truncate, :round, :gcd, :lcm, :gcdlcm, :numerator, :denominator, :to_r, :rationalize, :singleton_method_added, :coerce, :i, :+@, :eql?, :remainder, :real?, :nonzero?, :step, :quo, :to_c, :real, :imaginary, :imag, :abs2, :arg, :angle, :phase, :rectangular, :rect, :polar, :conjugate, :conj, :between?, :nil?, :=~, :!~, :hash, :class, :singleton_class, :clone, :dup, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :tap, :send, :public_send, :respond_to?, :extend, :display, :method, :public_method, :singleton_method, :define_singleton_method, :object_id, :to_enum, :enum_for, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__]

看出来了吗,ruby 中一切皆为对象,比方说数字就是 Fixnum 类型的对象,我们也可以用 来调用对象的各种方法。

 

判断

 

我们同样可以通过例子来研究研究。

大家看了以上的介绍对ruby编程语言有了一定的了解吗?可以从这几个知识点,关注点了解到ruby编程语言与其他语言的不同,也知道了ruby语言的特色。想了解更多ruby编程语言,可以搜索麦子学院,里面有更多ruby视频教程。

教你ruby快速入门的方法

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
jiangjie190
加入时间:2016-02-19
  关注此人  发短消息
文章分类
jiangjie190”关注的人------(0
jiangjie190”的粉丝们------(1
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!