Ruby
Ruby ,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby License。Ruby的作者认为Ruby > (Smalltalk + Perl) / 2,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。其他特色包括:
    * 运算符重载
    * 自动垃圾回收
    * 弱类型(动态类型 | 标量变量)
    * 变量无需声明 (不必事先宣告变量)
    * 在Windows上,加载DLL
    * 巨大的标准库(函式库;Library)
目录
    * 1 历史
    * 2 Ruby 的理念
    * 3 Semantics
    * 4 Ruby的Hello World程序
    * 5 Ruby 的特点
          o 5.1 完全面向对象
          o 5.2 变量没有类型
          o 5.3 任何东西都有值
          o 5.4 命名规则
          o 5.5 已经定义的类可以在运行时修改
    * 6 JRuby
    * 7 参见
    * 8 外部链结

历史

Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。之所以称为Ruby,是因为Perl的发音与6月的诞生石pearl(珍珠)相同,因此Ruby以7月的诞生石ruby(红宝石)命名。
Ruby明显比其他类似的编程语言(如Perl或Python)年轻,又因为Ruby是日本人发明的,所以早期的非日文资料和程序都比较贫乏,所以现在在网上仍然可以找到Ruby的资料太少之类的批评。约于2000年,Ruby开始进入美国,英文的资料开始发展。
Ruby现在的稳定版本是1.8.6(2007年3月12日发布)。

Ruby 的理念
减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计 Ruby 语言的 Matz 的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须强调人性化,而不是一味从机器的角度设想。
“         人们特别是电脑工程师们,常常从机器着想。他们认为:“这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。”实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。         ”
遵循上述的理念,Ruby 语言通常非常直观,按照编程人认为它应该的方式运行。

Semantics
Ruby 是完全面向对象的:任何一点数据都是对象,包括在其他语言中的基本类型(比如:整数,布尔逻辑值),每个过程或函数都是方法。
Ruby的Hello World程序
下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
#!/usr/bin/env ruby
puts "Hello, world!"


Ruby 的特点
完全面向对象
在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数
变量没有类型
Ruby的变量可以保有任何类型的数据。
任何东西都有值
不管是数学或者逻辑表达式还是一个语句,都有值
命名规则
Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量。常数则以大写字母开头,

已经定义的类可以在运行时修改

Ruby是动态语言,你可以在程序中修改先前定义过的类。 也可以在某个类的实例中定义该实例特有的方法,这叫做单立方法。

class MyClass
  def the_method
    "general method"
  end
end

mc = MyClass.new
def mc.the_method
  "special for this instance."
end
mc.the_method


Ruby 概述
Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程.有时使用像Smalltalk、Eiffel或C++这样正式的面向对象语言来开发一些小项目显得有点"小题大作",而Ruby刚好可以满足这些面向对象编程的需求.当然了,您也可以使用Ruby进行普通的面向过程编程.

Ruby的文本处理能力极强,与Perl不分伯仲.同时,Ruby的语法简单,还有异常处理以及迭代器等构造,使编程变得简单明了.
简而言之,您可以像使用Perl一样方便快捷地进行面向对象的开发.怎么样?赶紧试一试吧!
Ruby是由松本行弘开发的免费软件.


Ruby 的特长
语法简单
普通的面向对象功能(类,方法调用等)
特殊的面向对象功能(Mixin,特殊方法等)
操作符重载
错误处理功能
迭代器和闭包
垃圾回收
动态载入(取决于系统架构)
可移植性高.不仅可以运行在多数UNIX上,还可以运行在DOS,Windows,Mac,BeOS等平台上

Ruby 的作者
松本行弘matz@netlab.jp松本行弘"Matz"(Matsumoto Yukihiro)是Ruby语言的发明人,他从1993年起便开始着手Ruby的研发工作。他一直想发明一种语言,使你既能进行高效开发又能享受编程的快乐。1993年2月24日Ruby诞生了,1995年12月Matz推出了Ruby的第一个版本Ruby 0.95。不久Ruby便凭借其独特的魅力横扫日本,相信在不久的将来,Ruby将走向世界。

ruby介绍以及入门教程相关推荐

  1. [入门]Ruby on Rails入门教程及开发工具选用

    http://witcheryne.javaeye.com/blog/846714 最近在为一家公司做一个小项目,前端时间一直在用最熟悉的java,结果java的开发效率实在让人崩溃.用框架吧-一堆配 ...

  2. 用python做自我介绍_python入门教程NO.2 用python做个自我介绍

    本文涉及的python基础语法为:数据类型等 数据类型 1. 字符串的拼接 我们在上一章中已经简单介绍了一下字符串的创建方式,这里我们简单学习一下字符串的运算和拼接. 字符串的运算 `字符串的加法` ...

  3. spark中dataframe解析_Spark 结构流处理介绍和入门教程

    概念和简介 Spark Structured Streaming Structured Streaming 是在 Spark 2.0 加入的经过重新设计的全新流式引擎.它使用 micro-batch ...

  4. “Spring入门”教程系列

    大家好, 我很高兴向您介绍"Spring入门"教程系列! 这是一系列文章,最初由我们的JCG合作伙伴 Michal Vrtiak在vrtoonjava博客上撰写 . 本系列中将逐步 ...

  5. python入门教程pdf免费_python入门教程pdf

    python入门教程pdf内容摘要 python入门教程pdf页符造成的空白页,龙岩英语教程,2.插上打印机电源线,2.插上电源插头,达德教程,2.茶包配合按.2.查看包着SIM的那张"大卡 ...

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

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

  7. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  8. Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍

    Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple是LilyPad微控 ...

  9. Arduino可穿戴开发入门教程LilyPad介绍

    Arduino可穿戴开发入门教程LilyPad介绍 Arduino输出模块 LilyPad官方共提供了4种输出模块,他们分别是单色LED模块(图1.5).三色LED模块(图1.6).蜂鸣器模块(图1. ...

最新文章

  1. 安卓v7支持包下的ListView替代品————RecyclerView
  2. 关于xilinx fir use reloadable coefficient的用法
  3. ubuntu 安装SSH并设置免密码登录
  4. VC中的Attach和Detach
  5. Android开发视频教程
  6. BZOJ 4386 Luogu P3597 [POI2015]Wycieczki (矩阵乘法)
  7. Quartz.Net进阶之二:关于触发器的更多信息
  8. cat查看tomcat日志 linux_linux怎么使用cat命令查看文件? linux中cat命令的使用方法
  9. qt msvc编译中文乱码解决
  10. Android应用开发以及设计思想深度剖析(2)
  11. 七年级上册计算机教学反思,七年级信息技术上册教学反思
  12. ThickBox在ASP.NET中的应用
  13. Flutter 自定义 ImageButton
  14. 查看本地计算机ip命令,如何用DOS命令查看自己的IP地址
  15. 【物联网开发基础】plc简介
  16. 怎么将自己的头像p到特定的背景图_做个背景透明的头像,让自己的微信与众不同...
  17. WPF入门教程系列(2)---基础篇
  18. Sentinel2 哨兵2数据下载方法
  19. 音频数据的建模全流程代码示例:通过讲话人的声音进行年龄预测
  20. oracle中的cursor属性,Oracle Cursors语法总结

热门文章

  1. [C/C++学习] C/C++中的六大遍历
  2. MapABC地图使用
  3. 数独的生成和破解算法分析
  4. 法规标准-ISO 21717标准解读
  5. utm坐标和经纬度相互转换
  6. Python配置R语言包过程、问题及解决
  7. 20180716 [AtCoder]CF697 EASY+SoundHound HARD【值得琢磨实现细节】
  8. 用Python写了一个电子考勤系统
  9. 使用thymeleaf的th:src显示豆瓣电影api的图片
  10. 算法基础知识总结(基础算法)