`
sunjing21
  • 浏览: 157544 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Ruby概要

 
阅读更多

1.Ruby概述:Ruby是一种语法简单且功能强大的面向对象脚本语言

<1>Ruby是面向对象的编程语言,她追求的是简便快捷的面向对象编程.

<2>Ruby解释型语言,因此不需编译即可快捷地编程.

2.Ruby优点

解释器
Ruby
是解释型语言,其程序无需编译即可轻松执行。

变量无类型
Ruby
的变量没有类型,因此不必为静态的类型匹配而烦恼。相应地,错误检查功能也变弱了。

不需要变量声明
所有变量均无需声明即可立即使用。另外,从变量名即可判断出是何种变量(局部变量,全局变量,实例变量)。

语法简单
语法比较简单,类似Algol系语法。

不需要内存管理
具有垃圾回收(Garbage CollectGC)功能,能自动回收不再使用的对象。

一切都是对象
Ruby
从一开始就被设计成纯粹的面向对象语言,因此以整数等基本数据类型为首的所有东西都是对象,它们都有发送信息的统一接口。

类,继承,方法
Ruby
当然具有面向对象语言的基本功能。

特殊方法
可向某对象添加方法。例如,可以把GUI按钮被按下时的动作作为方法记述下来,还可以用它来进行原型库(prototypebase)的面向对象编程。

用模块进行混合插入(Mixin
Ruby
故意舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。

迭代器
该功能可以将循环抽象化。

闭包
可以将某过程片段对象化。对象化后的该过程片段就称作闭包。

功能强大的字符串操作/正则表达式
Perl为样板创造出了功能强大的字符串操作和正则表达式检索功能。

拥有超长整数
添加超长整数功能后,可以计算非常大的整数。例如计算400的阶乘也轻而易举。

具有错误处理功能
错误处理功能可以使您编写代码处理出错情况。

可以直接访问OS
Ruby
可以使用(UNIX的)绝大部分的系统调用。单独使用Ruby也可以进行系统编程。

动态加载
OS支持的话,可以在运行时读入对象文件。

3.Ruby的缺点

因为Ruby是解释型语言,所以速度较慢。

静态检查比较少。

动态语言由于没有构建的过程,因此很多错误只有等到运行时才会发现

4.Ruby的原理

5.Ruby的功能

<1>开发Web应用(Ruby On Rails)

<2>开发桌面软件

分享到:
评论

相关推荐

    ruby的概要介绍与分析

    Ruby是一种简洁、高效的面向对象编程语言,以其优雅的语法、强大的元编程能力以及 Rails 框架的流行而闻名。无论是初学者还是经验丰富的开发者,持续学习 Ruby 的资源和社区支持都是提升技能的关键。下面是一系列...

    Ruby的概要介绍与分析

    Ruby是一种开源的、面向对象的服务器端脚本语言,于20世纪90年代中期由日本的松本行弘设计并开发。在Ruby社区中,松本也被称为马茨(Matz)。Ruby以其简洁优雅、动态性、面向对象和内置的丰富类库等特点而广受欢迎。 ...

    crate_ruby:CrateDB的Ruby客户端库

    概要 设置客户端。 require 'crate_ruby' client = CrateRuby :: Client . new 执行SQL查询。 result = client . execute ( "Select * from posts" ) =&gt; #, duration=5&gt; result . each do | row | puts row ....

    Ruby Hack Guide中文版.chm

    第一部分的内容包括对Ruby语言一个概要介绍和对Ruby对象模型的讲解。从我个人阅读的感觉来看,第一章对于Ruby语言的介绍是一个非常好的起步教程,把Ruby语言中一些核心点都指了出来。比起我读到过一些Ruby语言教程,...

    [Ruby] Ruby 微观本质论 (英文版)

    ☆ 图书概要:☆ Ruby is a powerful programming language with a focus on simplicity, but beneath its elegant syntax it performs countless unseen tasks. Ruby Under a Microscope gives you a hands-on ...

    ruby-lastfm, Last.fm Web服务的ruby 接口.zip

    ruby-lastfm, Last.fm Web服务的ruby 接口 ruby-lastfm Last.fm Web服务 v2.0的ruby 接口概要require 'lastfm'lastfm = Lastfm.new(api_key, api_secret)token = l

    versionomy, ruby的通用版本号类.zip

    versionomy, ruby的通用版本号类 VersionomyVersionomy是一个通用版本号库。 它提供了用来表示。操作。分析和比较各种版本模式中的版本号的工具。本文档概述了Versionomy的特性,并提供了快速概要和功能列表。 有关...

    2024年Ruby快速入门(10分钟).zip

    ### 内容概要 本博客为初学者提供了一个关于Ruby编程的快速入门教程。从Ruby的介绍和特点开始,逐步介绍了如何安装Ruby、学习基本语法、动手实践和高级特性。博客还提供了Ruby的实际应用场景,如Web开发、数据处理和...

    ruby2js:Ruby到JavaScript的转换

    概要 基本: require 'ruby2js' puts Ruby2JS . convert ( "a={age:3} \n a.age+=1" ) 带过滤器: require 'ruby2js/filter/functions' puts Ruby2JS . convert ( '"2A".to_i(16)' ) 主机变量替换: puts Ruby2...

    malloc:Ruby 的原始内存分配

    概要 这个 Ruby 扩展定义了类 {Hornetseye::Malloc}。 {Hornetseye::Malloc.new} 可以分配内存,使用 {Hornetseye::Malloc#+} 可以做指针操作,{Hornetseye::Malloc#read} 和 {Hornetseye::Malloc#write} 提供读取 ...

    Ruby-Graphviz:[MIRROR] GraphViz绘图工具的Ruby接口

    $ gem install ruby-graphviz描述GraphViz绘图工具的界面去做新家族树概要一个基本的例子require 'ruby-graphviz'# Create a new graphg = GraphViz . new ( :G , :type =&gt; :digraph )# Create two nodeshello = g ...

    timeasure:Ruby中用于概要分析的透明方法级包装器

    Timeasure是用于概要分析目的的透明方法级包装器。 查看现场示例 Timeasure是Ruby的一颗宝石,它允许在生产环境中测量方法的运行时间,而不必更改方法本身的代码。 Timeasure允许您声明跟踪的方法,以在每次调用...

    ffi:Ruby FFI

    特征直观的DSL 支持所有C本机类型C结构(也嵌套),枚举和全局变量从C到Ruby的回调自动对本机内存进行垃圾回收概要require 'ffi'module MyLib extend FFI :: Library ffi_lib 'c' attach_function :puts , [ :string...

    Ruby编程入门保姆级:轻松掌握20个核心概念!.zip技术关键词:Ruby编程语言、面向对象、类和对象、模块、方法、集合数据结

    内容概要:全面掌握Ruby编程语言,轻松应对各种开发挑战! 适用人群:适合对编程感兴趣的初学者,以及希望快速入门Ruby语言的开发者。 使用场景及目标:通过幽默风趣的语言和生动的比喻,帮助读者理解并掌握Ruby编程...

    uart:用于Ruby的简单串行UART接口

    功能/问题: 没有C代码没有FFI代码似乎可以工作概要: 这是通过UART写入LCD屏幕的示例。 速度为9600、8个数据位,无奇偶校验和一个停止位: require 'uart'UART . open '/dev/tty.usbserial-00000000' do | serial |...

    ocra:一键式Ruby应用程序生成器

    奥克拉主页:: 问题:: 论坛:: 描述OCRA(一键式Ruby应用程序)从Ruby源代码构建Windows可执行文件。 该可执行文件是一个自解压,自运行的可执行文件,其中包含Ruby解释器,您的源...概要构建可执行文件: ocra script

    Rubix:Elixir 的一个非常简单(并且几乎无法运行)的 Ruby 运行器

    魔方 0.0.2 Elixir 的一个非常简单(并且几乎无法运行)的 Ruby 运行器概要 iex&gt; ruby_code = """...&gt; def hello()...&gt; puts "Hello, world!"...&gt; end...&gt; hello()...&gt; """"def hello()\n puts \"Hello, world!\"\n...

Global site tag (gtag.js) - Google Analytics