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

语言的类型模型是什么?

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

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

语言的编程范型是什么?

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

怎样和语言交互?

编译、解释

语言的判断结构(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的方法相关推荐

  1. Listary入门教程 高效的使用方法

    ​ 作为两大搜索神器之一,Listary的高自定义性让它有了无限的潜力.当然,如果想要最高效化的使用Listary便需要去结合另一大神器everything使用,这里对Listary的折腾进行记录,主 ...

  2. 第4讲:C# 入门教程 入门知识(黄菊华NET网站开发、C#网站开发、Razor网站开发教程)

    入门知识 .NET.C#和ASP.NET三者之间的区别如下: 一.什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运 ...

  3. WPF界面控件Telerik UI for WPF初级入门教程 - 入门指南

    本文主要介绍如何在项目中获取Telerik UI for WPF控件,并开始快速使用它们.启动并运行第一个简单控件后,请查看后续步骤部分,开始更详细地探索控件功能. 点击获取工具下载 使用Teleri ...

  4. 【转载】PHP面向对象(OOP)编程入门教程

    面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持. 如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们 ...

  5. PHP面向对象(OOP)编程入门教程

    面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就 ...

  6. 80篇各ajax框架入门教程

    AJAX经典入门教程,入门实例,入门代码收藏. *VS2008 Ajax.NET快速入门教程* (2008-3-25) [本站原创]Ajax!?!入门教程之道 (2008-4-13) [本站原创]Aj ...

  7. netbeans linux 教程,NetBeans IDE Ruby 快速入门教程

    NetBeans IDE Ruby 快速入门教程 本教程提供了在 NetBeans IDE 中开发 Ruby 应用程序的快速入门指南.本教程介绍如何使用 IDE 的 Ruby 支持来执行一些典型的应用 ...

  8. Ruby入门教程和技巧

      Ruby真的比Java更好? Ruby On Rails 创始人:对Java 说再见 这两周以来围绕Java发生的两件大事:EclipseCon 和TheServerSide Java Sympo ...

  9. ruby介绍以及入门教程

    Ruby Ruby ,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和 ...

  10. Ruby on rails 实战圣经:Part 1: 入门导览-Ruby on Rails 简介

    Ruby on Rails 简介 "Life's too short tobuild something nobody wants" - Ash Maurya, Running L ...

最新文章

  1. python函数能否增强代码可读性_python——初识函数
  2. Android之如何解决Android Studio左边的的project不见了
  3. 知识点:Mysql 数据库索引优化实战(4)
  4. 黑马2018年JavaEE课程大纲
  5. cesium 原生抛物线
  6. DIY一款600元成本的电路板热成像故障分析仪
  7. 第13课:构建神经网络模型的实用建议
  8. 达梦数据库DM8 DCA认证学习笔记
  9. LayUI实现Checkbox复选框的单选及取消单选,即只能选一个或者全都不选
  10. 德琪医药和上药控股达成合作;方达医药位于美国宾州新实验室投运;药明康德发布财报 | 医药健闻...
  11. win10 损坏的映像 0xc000012f
  12. 仿微信 QQ 图片选择器
  13. Python一亿以内的素数个数_Python编程100例(上)
  14. XENOGEARS,延续万年的的永恒之爱(引)
  15. MG3680无法在网络上检测到打印机
  16. element 表格显示图片
  17. 【计算机组成原理】指令系统(二)—— 扩展操作码
  18. python程序设计实验指导书第1版实验三十四_《python编程基础》实验指导书.doc
  19. 嵌入式Linux中摄像头使用简要整理
  20. Deno 意味着什么?

热门文章

  1. Linux驱动开发|音频驱动
  2. 【电子发票】电子发票OFD如何打开?OFD版式阅读器
  3. 搭建C语言开发环境,编写hello,world
  4. 在线c语言编程网站_学编程有哪些好的网站推荐?
  5. Linux下zip命令-不打包目标文件目录
  6. kux格式怎么转换 kux完美转换成MP3音频的技巧分享
  7. Nobook虚拟实验室完爆各种传统实验室
  8. rufus下载包,exsi自启动制作工具
  9. Unity粒子特效出现慢
  10. Radasm出现error LNK2001