Ruby学习笔记(不完全版)

开源、跨平台(windows、linux、unix等)
脚本语言(效率较低)、无需编译、直接运行
语法自然、简介
一切皆是对象
灵活的语言设计(随意改变原始设计)
强大的nlocks和cloures
继承和mixin
ruby gem(插件、库等)

ruby interpreter(解释器):MRI,JRuby,Rubinius

centos下安装
yum install -y ruby
版本ruby -v

.rb结尾

变量类型:
 本地变量
 实例变量
 全局变量
 常量

字符串变量 name = "it"
数字变量  num = 100
数组变量 score = {1,2,3}
布尔型变量 is_pass = true
哈希变量 user = {:name => "zhang", :age => 29}
符号型变量   :name  保存不变化的数据

查看变量对象类型: 变量名.class
调用对象的方法:变量名.方法名

name.sort    对name进行排序,不修改name内容
name.sort!  对name进行排序,同时修改name内容

puts “Hello #{name} !”  通过#{}引用变量内容
   这里双引号为引用   单引号则直接打印

=     赋值
==    比较是否一样,返回值true or false
>,<   大于或者小于,返回值true or false
<=,>=  小于等于或者大于等于,返回值true or false
<=>   船型操作符,返回值-1,0,1

&&可写为and  逻辑与
||可写为or  逻辑或
!可写为not  逻辑非   即取反

if 判断语句
  ......       为真则执行,为假不执行
end

if 判断语句
  ......
else
  .......     
end

if 判断语句
  ......
elsif 判断语句
  ......
else
  .......     
end

ruby中除了false和nil外,其它返回值均为真

unless 条件判断语句    #为假
  ......
end

unless 条件判断语句    #为假
  .......  
else
  ......
end

case 变量
when 值
  puts ""
when 值
  puts ""
end

1..59  为一个range,从1-59

无限循环
loop do
  puts ""
end

count = 0
loop do
  puts “”
  count += 1
  if count > 10
    break
  end
end

条件循环:
count = 0
while count < 10   为真时执行
  puts “”
  count += 1
end

count = 10
until count < 1   为假时执行
  puts “”
  count -= 1
end

迭代器
10.times do
  puts “”
end

1.upto(10)   从1到10
10.downto(1)
1.step(10.2)  从1-10,但是每次+2

方法,可以被一次定义多次重复调用
def 方法名
  .....
end

方法名称必须小写,可使用_,可以使用参数

def 方法名(参数)
  .....#{参数}
end

(*参数)  变长参数,自动将多个参数转换为一个数组

(参数=1)  参数默认值

return 返回值

时间: 2024-10-11 06:22:14

Ruby学习笔记(不完全版)的相关文章

Ruby学习笔记

Ruby学习笔记 Ruby语言中,以对象为基本单位,可以说所有的元素都是对象.按照之前对于面向对象程序的理解,对象是指包含了特定属性和方法集合的一组程序.对象由类来定义,具体的表现为对象实例.也就是说,对象是类的实例化[2]. Ruby语言的基础元素 对象:数值对象.字符串对象.正则表达式对象.时间对象.文件对象.目录对象.数组.哈希.例外对象等 数值对象   由于Ruby中一切数据都是对象,所以我们处理的数字实际上也是对象. a = 10,这样一个简单的赋值语句,实际上应当理解为 a = Nu

ruby学习笔记(1)-puts,p,print的区别

ruby学习笔记-puts,p,print的区别 共同点:都是用来屏幕输出的. 不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号):另外如果内容参数中有转义符,输出时将先处理转义再输出p 基本与puts相同,但不会处理参数中的转义符号print 基本与puts相同,但输出内容后,不会自动在结尾加上换行符 1 2 3 4 5 6 7 s = "aaaa\nbb\tbb" p s p "****************" puts s p

ruby 学习笔记 2 -变量

变量 在ruby的世界里,变量有5种,全局变量 局部变量 实例变量 常量 类变量以及伪变量 常用的: 全局: 在全局使用,使用$开头,因为是全局的,所以在任何的代码例子中都可以改变其值,造成混乱,所以不建议使用. 局部: 在一定范围内有作用.如 i = 10 ,其中i 就是一个局部变量 常量: 例如圆周率Pi,但是Pi 我们可以赋予他其他值,是可以变化的. 常量的首个字母必须大写,当试图改变常量值时,解释器会给出警告“ex4.rb:19: warning: already initialized

ruby 学习笔记 1

写ruby blog  系统的记录下.也是对我学ruby的点滴记录. 先介绍下我的学习环境.系统:ubuntu12.04文档:techotopia ,ruby文档,the hard way learn ruby 以及其他文档记录:有道云笔记 关于ruby 学习ruby 通常会介绍下ruby的历史和发展,但是我觉得这些有的废话, 关于ruby,是一个日本人写出来的,是一门解释性语言 这就够了. 开始 在ubuntu上 ,先判断下是否installed ruby. 1 ruby -v 如果安装了会打

Ruby学习笔记0708

#!/usr/bin/env ruby class MegaGreeter attr_accessor :names # 初始化這個物件 def initialize(names = "World") @names = names end # 向每個人說 hi def say_hi if @names.nil? puts "..." elsif @names.respond_to?("each") # @names 是可以迭代的陣列容器 @nam

ruby学习笔记(2)-chomp,chop的区别

还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在http://www.w3cschool.cc/ruby/ruby-string.html中得到的关于Ruby字符串chop和chomp的用法介绍如下: 单从这几句话,还是有些不明白(貌似借鉴于perl语言中的chop和chomp函数的用法),然后百度了一下,我在http://blog.chinaun

【ruby学习笔记】Hello World

程序员学习任何一门新语言,总是从用新语言写一个Hello World开始的,我们也不例外,先用ruby写一个极简的Hello World. 说极简应该实至名归,因为只有一行代码: <span style="font-family:SimSun;font-size:18px;">puts "Hello, Ruby!";</span> 把上述代码保存到 helloWorld.rb 文件(ruby脚本的后缀是.rb),然后执行 ruby hello

Bigpipe学习笔记和java版实现

写在开头 --这篇bigpipe的笔记早在一年前就想写了,但是一直被耽搁了.终于今天再翻看旧ppt时才想起要补上这篇博客. 本文中关于bigpipe的介绍是根据网络上的资料整理出来的(图片均来源于网络),而实现部分是博主的亲身实践. 1.什么是bigpipe 搞互联网的同学也许都知道一个数字--4秒,有研究表明,如果一个网站没有在4秒之内加载完成,用户就会感到焦躁不愉快,并离开这个网站(数据来自性能测试网站http://gtmetrix.com/). 2010 年初的时候,Facebook 的前

Ruby学习笔记一

最近由于学习Puppet相关知识,所以学习一下ruby方面的知识,下面是对于一些入门的总结. ruby的开始语句与结束语句. BEGIN { code } END{ code } 类中的变量: 局部变量 “_”开头----方法中定义的变量,只能在方法中使用. 实例变量 “@”开头-----实例从对象到对象的改变,可以跨越方法或者实例. 类变量 “@@”开头------可以跨对象使用,属于类,是类的属性 全局变量  “$”开头------跨类使用 使用new 创建对象 对象=类.new 创建带有参