ruby入门教程:入门ruby的方法
在学习新的编程语言的时候,我们一定要弄清楚一下几个问题:
语言的类型模型是什么?
强类型/弱类型,静态类型/动态类型
类型模型会改变问题的处理方式,控制语言的运行方式
语言的编程范型是什么?
面向对象、函数式、过程式等等
怎样和语言交互?
编译、解释
语言的判断结构(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入门教程:入门ruby的方法相关推荐
- Listary入门教程 高效的使用方法
作为两大搜索神器之一,Listary的高自定义性让它有了无限的潜力.当然,如果想要最高效化的使用Listary便需要去结合另一大神器everything使用,这里对Listary的折腾进行记录,主 ...
- 第4讲:C# 入门教程 入门知识(黄菊华NET网站开发、C#网站开发、Razor网站开发教程)
入门知识 .NET.C#和ASP.NET三者之间的区别如下: 一.什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运 ...
- WPF界面控件Telerik UI for WPF初级入门教程 - 入门指南
本文主要介绍如何在项目中获取Telerik UI for WPF控件,并开始快速使用它们.启动并运行第一个简单控件后,请查看后续步骤部分,开始更详细地探索控件功能. 点击获取工具下载 使用Teleri ...
- 【转载】PHP面向对象(OOP)编程入门教程
面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持. 如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们 ...
- PHP面向对象(OOP)编程入门教程
面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就 ...
- 80篇各ajax框架入门教程
AJAX经典入门教程,入门实例,入门代码收藏. *VS2008 Ajax.NET快速入门教程* (2008-3-25) [本站原创]Ajax!?!入门教程之道 (2008-4-13) [本站原创]Aj ...
- netbeans linux 教程,NetBeans IDE Ruby 快速入门教程
NetBeans IDE Ruby 快速入门教程 本教程提供了在 NetBeans IDE 中开发 Ruby 应用程序的快速入门指南.本教程介绍如何使用 IDE 的 Ruby 支持来执行一些典型的应用 ...
- Ruby入门教程和技巧
Ruby真的比Java更好? Ruby On Rails 创始人:对Java 说再见 这两周以来围绕Java发生的两件大事:EclipseCon 和TheServerSide Java Sympo ...
- ruby介绍以及入门教程
Ruby Ruby ,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和 ...
- Ruby on rails 实战圣经:Part 1: 入门导览-Ruby on Rails 简介
Ruby on Rails 简介 "Life's too short tobuild something nobody wants" - Ash Maurya, Running L ...
最新文章
- python函数能否增强代码可读性_python——初识函数
- Android之如何解决Android Studio左边的的project不见了
- 知识点:Mysql 数据库索引优化实战(4)
- 黑马2018年JavaEE课程大纲
- cesium 原生抛物线
- DIY一款600元成本的电路板热成像故障分析仪
- 第13课:构建神经网络模型的实用建议
- 达梦数据库DM8 DCA认证学习笔记
- LayUI实现Checkbox复选框的单选及取消单选,即只能选一个或者全都不选
- 德琪医药和上药控股达成合作;方达医药位于美国宾州新实验室投运;药明康德发布财报 | 医药健闻...
- win10 损坏的映像 0xc000012f
- 仿微信 QQ 图片选择器
- Python一亿以内的素数个数_Python编程100例(上)
- XENOGEARS,延续万年的的永恒之爱(引)
- MG3680无法在网络上检测到打印机
- element 表格显示图片
- 【计算机组成原理】指令系统(二)—— 扩展操作码
- python程序设计实验指导书第1版实验三十四_《python编程基础》实验指导书.doc
- 嵌入式Linux中摄像头使用简要整理
- Deno 意味着什么?