
简介
Ruby是一种纯粹的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。
您可以在 www.ruby-lang.org 的 Ruby 邮件列表上找到松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)的名字。在 Ruby 社区,松本也被称为马茨(Matz)。
Ruby 是”程序员的最佳朋友”。
Ruby 的特性与 Smalltalk、Perl 和 Python 类似。Perl、Python 和 Smalltalk 是脚本语言。Smalltalk 是一个真正的面向对象语言。Ruby,与 Smalltalk 一样,是一个完美的面向对象语言。使用 Ruby 的语法比使用 Smalltalk 的语法要容易得多。
Ruby历史
Ruby明显比其他类似的编程语言(如Perl或Python)年轻,又因为Ruby是日本人发明的,所以早期的非日文资料和程序都比较贫乏,所以在网上仍然可以找到类似“Ruby的资料太少”之类的批评。约于2000年,Ruby开始进入美国,英文的资料开始发展。Ruby归根结底源于Perl和Python两类语言,与C,C++,C#,java是不同大类。
特性
- Ruby 是开源的,在 Web 上免费提供,但需要一个许可证。
- Ruby 是一种通用的、解释的编程语言。
- Ruby 是一种真正的面向对象编程语言。
- Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。
- Ruby 可以用来编写通用网关接口(CGI)脚本。
- Ruby 可以被嵌入到超文本标记语言(HTML)。
- Ruby 语法简单,这使得新的开发人员能够快速轻松地学习 Ruby。
- Ruby 与 C++ 和 Perl 等许多编程语言有着类似的语法。
- Ruby 可扩展性强,用 Ruby 编写的大程序易于维护。
- Ruby 可用于开发的 Internet 和 Intranet 应用程序。
- Ruby 可以安装在 Windows 和 POSIX 环境中。
- Ruby 支持许多 GUI 工具,比如 Tcl/Tk、GTK 和 OpenGL。
- Ruby 可以很容易地连接到 DB2、MySQL、Oracle 和 Sybase。
- Ruby 有丰富的内置函数,可以直接在 Ruby 脚本中使用。
语言特点
- 完全面向对象
- 在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数
- 变量没有类型
- Ruby的变量可以保存任何类型的数据。
- 任何东西都有值
- 不管是数学或者逻辑表达式还是一个语句,都会有值。
- ruby语言很优雅,可以做到不需要注释就可以读懂。
Ruby是动态语言,你可以在程序中修改先前定义过的类。 也可以在某个类的实例中定义该实例特有的方法,这叫做单例方法。
1 | class MyClass |
安装
Homebrew:
- 官网链接
- Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。
- 援引官方的一句话:又提示缺少套件啦?别担心,Homebrew 随时守候。Homebrew —— OS X 不可或缺的套件管理器。
- 安装路径:
/usr/local/Homebrew
- 大部分情况下,它把软件包安装到
/usr/local/Cellar/程序名/版本号
目录 下,然后在/usr/local/bin
下建立符号链接,没有其他的操作了。
- 指令
- brew –version:查看版本
- brew –repo:查看路径
Ruby:
- 官网链接
- Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言
- CocoaPods是用Ruby构建的,它可以使用macOS上的默认Ruby进行安装。您可以使用Ruby版本管理器(RVM),但建议使用macOS上提供的标准Ruby。
注意:Mac OS X 或 Linux,别在 Windows 上面搞,那是在浪费时间,两个原因
- Ruby 对 Unix 环境的需求非常高,这点 Mac OS X 和 Linux 系列的系统才能很好的满足;
- Ruby 在 Windows 环境下面执行效率低。
RubyGem:
- 菜鸟教程
- RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。
- RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。
- RubyGems大约创建于2003年11月,从Ruby 1.9版起成为Ruby标准库的一部分。
- Gem 是 Ruby 模块 (叫做 Gems) 的包管理器。其包含包信息,以及用于安装的文件。
- Gem通常是依照”.gemspec”文件构建的,包含了有关Gem信息的YAML文件。Ruby代码也可以直接建立Gem,这种情况下通常利用Rake来进行。
- gem命令用于构建、上传、下载以及安装Gem包。
- 指令
1 | ruby -v # 查看安装版本 |

RVM:
- 指令
1 | rvm install 版本 # 安装指定版本 |
Linux / Unix
Mac
- 默认情况下,mac系统已经安装了Ruby, 安装在
/System/Library/Frameworks/Ruby.framework/Versions/Current
目录下。 - 但是,由于默认的 Ruby 安装在
/System
目录下,过深的、与 *nix 约定不同的目录结构对日常的开发、维护都带来许多不便。
Linux/Unix
Windows
- Ruby 解释器使用下列环境变量来控制它的行为。
- ENV 对象包含了所有当前设置的环境变量列表。
变量 | 描述 |
---|---|
DLN_LIBRARY_PATH | 动态加载模块搜索的路径。 |
HOME | 当没有参数传递给 Dir::chdir 时,要移动到的目录。也用于 File::expand_path 来扩展 “~”。 |
LOGDIR | 当没有参数传递给 Dir::chdir 且未设置环境变量 HOME 时,要移动到的目录。 |
PATH | 执行子进程的搜索路径,以及在指定 -S 选项后,Ruby 程序的搜索路径。每个路径用冒号分隔(在 DOS 和 Windows 中用分号分隔)。 |
RUBYLIB | 库的搜索路径。每个路径用冒号分隔(在 DOS 和 Windows 中用分号分隔)。 |
RUBYLIB_PREFIX | 用于修改 RUBYLIB 搜索路径,通过使用格式 path1;path2 或 path1path2,把库的前缀 path1 替换为 path2。 |
RUBYOPT | 传给 Ruby 解释器的命令行选项。在 taint 模式时被忽略(其中,$SAFE 大于 0)。 |
RUBYPATH | 指定 -S 选项后,Ruby 程序的搜索路径。优先级高于 PATH。在 taint 模式时被忽略(其中,$SAFE 大于 0)。 |
RUBYSHELL | 指定执行命令时所使用的 shell。如果未设置该环境变量,则使用 SHELL 或 COMSPEC。 |
开发工具
Ruby 不需要 IDE,一个简单的文本编辑器就足够了,作为 Ruby 开发者,这个必须习惯。
Mac 平台
Linux / Mac / Windows
设置编译环境
Tool -> Build System
编译
Tool -> build
教程
语法
空白
行尾
标识符
保留字
变量
语言标准
$ 开头的一定是全局变量
@ 开头的都是实例变量
@@ 开头的是类变量
常数则以大写字母开头
- 这种方法,对文本编辑器的命令补全很有帮助,如在vim下先键入$及开头字母,再敲击Ctrl+p,则可专门补全本文件以及关联文件中的全局变量,perl与php亦有此优点。
已经定义的类可以在运行时修改
- Post title:ruby
- Post author:Wei Jieyang
- Create time:2020-12-17 10:12:34
- Post link:https://jieyang-wei.github.io/2020/12/17/ruby/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.