ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言--即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念...(可以通过 “puts 变量.class“查看) 3.ruby相对c#来讲,可能有些雷的地方在于:父类中的private成员,居然是可以在子类中使用的!......其它地方,等学习深入了再写出来 最后上一段测试代码,展示了ruby中类的基本用法: class People #跟javascript这类动态语言一样,ruby中的类也没有public,private...def call_private_method #子类可以调用父类的私有方法!!!...本身对变量没有类型概念,但是这样却不行,即:在调用父类的受保护方法时,其实是要类型匹配的 puts aMan.class #显示aMan的类名称 运行结果如下: >ruby classDemo.rb
动态语言之所以“动态”,最明显的特征就是:类实例的行为/属性可以在new出后,动态修改!个人觉得这种处理相对java/c#(静态语言)来说,更符合现实世界。...比如:一个人刚出生时,除了哭、吃奶等这些基本原始本能,其它的几乎全都不会(原始本能可理解类定义中最开始定义的属性和方法),但随着时间推移,学会了看书,走路,说话...
完整的 Ruby 程序是由对象以及发送给对象的消息组成的。类定义了一组行为或者功能,每一个对象都是类实例化而来的,每一个对象都是不同的。...Ruby 中提供了大量的内置类,如 Integer,String,Array 等,当然也可以编写自定义的类或者给内置类修改或者添加新的功能。...Ruby 中类的概念没有对象重要,Ruby 作为一种动态解释型语言,对象在实例化过程中是可以改变的,对象可以在实例化过程中改变类中定义的行为或者增加原类中没有定义的行为,这就是 Ruby 语言的动态特性...使用 RubyMind 创建一个 ruby-tutorial 项目,用来保存 Ruby 代码,在该目录下创建 exchange.rb 文件,并输入如下代码: # 兑换类 class Exchange...输入要兑换的人民币金额(元):" amount = gets aus = ex.yuan2aus(amount.to_i) puts "兑换的澳币金额为(刀):#{aus}" 在上述代码中通过定义一个 Exchange 类并且在类中定义了一个
能够用 \curl -L https://get.rvm.io | bash -s stable 查看rails版本号 rails -v Rails 4.0.3 似乎这就是当前的最新版本号 Ruby...版本号 We recommend Ruby 2.1.0 for use with Rails....We stopped supporting Ruby 1.8.x after Rails 3.2. Ruby 1.9.2+ will be supported until Rails 5....guides.rubyonrails.org/getting_started.html 运行命令 $rails generate controller welcome index 就会创建以下这些文件(Ruby...On Rails 4 hello world,Ruby On Rails上手) create app/controllers/welcome_controller.rb route get
一、Ruby 基本语法 Ruby 的基本语法中包含了 Ruby 的基本运算符、I/O、控制流以及 Ruby 中的特殊对象和注释。...二、Ruby 标识符 Ruby 中的标识符类型不多,主要包含了 变量, 常量, 关键字, 方法名 等,而变量又包含了局部变量, 全局变量, 实例变量 和 类变量。...如 @name、*@age* 类变量是在每一个类层级上存储信息,要区分于实例变量在对象层级上存储信息;对象是由类实例化而来的。类变量以 @@ 开头,使用与局部变量相同的命名规则。...全局变量 $JUEJIN_URL $juejin_url、$juejinUrl、$url2 实例变量 @home_address @Home_address、@home_address、@address3 类变量...关键字 Ruby 中的关键字大约有 40 个,通常都是一些简单的单一词汇。常用的关键字有 def 方法定义、class 类定义、if 条件判断等。
升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上。...[root@web ~]# yum install rubygems ruby-devel 0x02 查看ruby的版本 [root@web ~]# ruby -v ruby 1.8.7 (2013...on head [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p330] [ruby-]1.9.3[-p551] [ruby-]2.0.0[-p648] [ruby-]2.1[.10...] [ruby-]2.2[.7] [ruby-]2.3[.4] [ruby-]2.4[.1] ruby-head # for forks use: rvm install ruby-head-ruby -v ruby 2.2.7p551 (2014-11-13 revision 48407) [x86_64-linux] 至此,ruby版本升级成功
一、Ruby 的安装目录 在 Ruby Programming | 连载 01 - Intro and Setup 中展示了通过 rvm 安装 Ruby 的过程,安装 Ruby 不仅会安装 ruby 解释器...,还安装了 Ruby 语言支持的库和文件,在使用 ruby 解释器执行代码时都能够成功找到所需要的文件或者目录。..."] site_ruby 和 vendor_ruby 目录中包含了是用于自定义的库或者是通过 gem 工具安装的第三方的库。...二、Ruby 的扩展库 安装 Ruby 是一同安装的扩展通常成为 Ruby 的标准库,与 Python 的标准库一样,Ruby 的中的大量标准库也提供了非常多的功能或者扩展,包括数据库管理、网络、数据分析等...文件的名称,要加双引号且不能省略扩展名,ruby 解释器可以根据名称找到加载的文件,如果不在同级目录,ruby 解释器将在加载路径中找到。
“ Ruby基本概念和使用方法” Ruby是什么? Ruby中,一切皆对象。比如,数字。 Ruby需要通过解释器运行,这和python等语言类似。 Ruby能做什么?...hard to guess value of x" end 注意第二个分支是 elsif 函数 def func(msg) puts "Hello #{msg}" end 调用函数: 也可以不加括号: 类...def initialize(msg="World") @msg = msg end def func puts "Hello #{@msg}" end end 实例化类对象...,并调用其方法 ruby脚本 我们看一个比较完整的ruby类。...如果要动手开发插件,还需要深入学习更多Ruby的细节和特性,可点击“阅读原文”进行查阅。 值得一提的是,Ruby官方提供的学习资料还是很丰富的,也有不少中文文档。
(一)Ruby中一切都是对象 比如可以用.class属性来查看一个对象的类型,看下1.class,会发现常数1的类型是Fixnum,1是Fixnum的一个实例。...(二)Ruby语法 Ruby中的类以class开始 以end结束,类名首字母的约定是大写; Ruby中的方法以def开始 以end结束,方法名首字母的约定是小写; Ruby...中的局部变量名首字母的约定是小写; Ruby中的构造函数(构造方法)名称为initialize; 即类在创建新对象时,调用这一方法 Ruby中的成员变量(实例变量...,对象变量)用@符号,在initialize里进行声明与初始化; Ruby中的属性用attr,attr_writer,attr_reader和attr_accessor声明; Ruby中的全局变量用...$符号; Ruby中的常数(常量)用大写字母开头,约定是全部大写; Ruby中任何的表达式都会返回值。
require 'postgres' conn = PGconn.connect("",5432, "", "", "testdb")
前言 记录ruby的一些报错 错误 Could not find a valid gem 'pumagem' (>= 0) in any repository ERROR: Could not find...就好了 # gem -v 2.7.8 # gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ https...-l *** CURRENT SOURCES *** https://gems.ruby-china.com/ Your Gemfile lists the gem paranoia (~> 2.2...Your Ruby version is 2.5.3, but your Gemfile specified 2.5.1 我的Gemfile中指定的版本是2.5.1但是系统中ruby的实际版本是2.5.3...修改Gemfile.lock和Gemfile中的ruby版本,更改成系统中的版本 3. 将ruby版本回退到项目需要的版本
使用Script.net开发环境,开发和调试脚本文件,支持多个版本的脚本语言,包括perl、tcl、ruby、pyhon、nsis。...在script.net安装完工具后,在工具的开始页面有脚本工具库sdk的下载链接 ruby入门笔记,资料参考http://www.w3cschool.cc/ruby/ruby-hash.html 1.调试打印命令...^_^) 2.数据类型 a1=0 详细数据类型,具体使用时可参考资料 3.类和对象 class A...相当于静态成员变量 end 对象的引用object=A.new (四种变量:局部变量无符号,实例变量:@,类静态成员变量
Ruby has four types of variable scope, local,global, instance and class....In addition, Ruby has one constant type....is useful to know, however, that a number of pre-defined global variables are available to you as a Ruby...developer to obtain information about the Ruby environment....script file currently executing $* The command line arguments used to invoke the script $$ The Ruby
This is because in Ruby a class is simply an object of class Class. 2....The second thing to notice is that Ruby provides a method class_eval that takes a string and evaluates...instance variables should be maintained separately for each object instance. that is, if you do: > ```ruby...Here is some skeleton code: > ```ruby class Class def attr_accessor_with_history(attr_name) attr_name...= 1 f.bar = 2 f.bar_history # => if your code works, should be [nil,1,2] ####My Example Code ```ruby
示例1: require 'sqlite' db = SQLite::Database.new("library.db") db.execute("...
Ruby中的类、方法与模块 Ruby中的类 类是对对象行为和属性的描述。...做为一门面向对象的脚本语言,Ruby中支持类的概念,支持类的定义、继承(不允许继承多个父类)、限定方法的访问范围、Setter和Getter的设置等。 ...模块可以在类中引入,这样模块的方法就会成为类的方法。可以使用这个小技巧来实现Ruby的多重继承。 Ruby中的方法(函数) Ruby中的方法区分为实例的方法、类的方法、函数性方法。...Ruby中常用的类 Numeric 类 Numeric类下包括了Integer、Fixnum、Bignum、Float四个子类,关系如下图所示。 ?...Time、Date、DateTime类 如果不熟悉的人,看到这三个类,一定会问为什么要这么多关于时间处理的类? Ruby中的进程与线程 Fiber、Thread、Process。
from /usr/local/rvm/gems/ruby-2.3.0/gems/mongo-2.2.5/lib/mongo/operation/executable.rb:36:in `block in...execute' from /usr/local/rvm/gems/ruby-2.3.0/gems/mongo-2.2.5/lib/mongo/server/connection_pool.rb:108...:in `with_connection' from /usr/local/rvm/gems/ruby-2.3.0/gems/mongo-2.2.5/lib/mongo/server/context.rb...:34:in `execute' from /usr/local/rvm/gems/ruby-2.3.0/gems/mongo-2.2.5/lib/mongo/database.rb:158:in `...command' from /usr/local/rvm/gems/ruby-2.3.0/gems/mongo-2.2.5/lib/mongo/collection.rb:162:in `capped
在对安全要求更严格的环境下,可以使用 SSL 加密连接,前提是客户端和服务端都得编译对 SSL 的支持
/rails console production 取得你要修改的用户对象(ruby>代表进入ruby环境),admin。...ruby> admin_user.password = 'password' 注: 这个密码不能太短,否则报错。 保存admin用户对象信息。 ruby> admin_user.save!...退出ruby环境。 ruby> quit 这样应该就可以用password这个新密码登录系统了。 Rails Installer 安装Ruby on Rails从此不在折腾。...这个方法是一条龙安装,包括了Ruby和Rails,还有折腾无数壮士的DevKit。...DevKit 最后,在CMD中运行 ruby -v
参考《Ruby元编程》,元编程,即 用来编写代码的代码 。...对象由一组实例变量和一个类的引用组成 对象的方法存在与对象所属的类中,类似js中的prototype,在ruby中准确的说,应该是实例方法 类本身是Class类的队形,类的名字不过是常量而已 Class...类是Module的子类,模块基本上是由一组方法组成的包。...类除了具有模块的特性,还可以被实例化,组织为层次结构 常量像文件系统,按照树形结构组织 每个类都有一个祖先链,这个链从自己所属的类开始,向上知道BasicObject类结束 当调用一个方法时,Ruby首先来到接收者的类...,然后向上查找祖先链,直到找到方法,或者到达链的顶端 每当类包含一个模块时,该模块会被插入祖先链中,当前类的正上方 当调用一个方法时,接收者是self 当定义一个模块时,模块是self 实例变量永远都会被认定为
领取专属 10元无门槛券
手把手带您无忧上云