一. 数组

1.定义一个数组

games = ["英雄联盟", "绝地求生", "钢铁雄心"]
puts games

2.数组的循环

games.each do |geam|
puts "玩《#{geam}》"
end games.each_with_index do |game, index|
puts "我喜欢的第:#{index+1}个游戏是:#{game}"
end

注:相当于Python中的enumerate(枚举)方法遍历数组中的元素及其下标

3.数组的连接

puts games.join("|")

注:数组数据的拼接方法,大部分语言都有且都为join

4.判断是否是一个数组

if games.respond_to?("each")
puts "true"
end if games.respond_to?("each_with_index")
puts "true"
end

5.Ruby数组中的方法

请参看:https://www.runoob.com/ruby/ruby-array.html

二. 备注

备注的使用:
1. 一行备注
# :井号备注
2. 多行备注
"=begin...=end"
3. 之后全备注
__END__

三. Ruby的操作符

请参看:https://www.runoob.com/ruby/ruby-operator.html

1.值得注意的:

(1). Ruby 三元运算符

a = 1...10
puts a.size >= 9? "是" : "否"

(2). Ruby 范围运算符

(3). Ruby defined? 运算符

用法 1
defined? variable # 如果 variable 已经初始化,则为 True
例如:
foo = 42
defined? foo # => "local-variable"
defined? $_ # => "global-variable"
defined? bar # => nil(未定义) 用法 2
defined? method_call # 如果方法已经定义,则为 True
例如:
defined? puts # => "method"
defined? puts(bar) # => nil(在这里 bar 未定义)
defined? unpack # => nil(在这里未定义) 用法 3
# 如果存在可被 super 用户调用的方法,则为 True
defined? super
例如:
defined? super # => "super"(如果可被调用)
defined? super # => nil(如果不可被调用) 用法 4
defined? yield # 如果已传递代码块,则为 True
例如:
defined? yield # => "yield"(如果已传递块)
defined? yield # => nil(如果未传递块)

(4). Ruby 点运算符 "." 和双冒号运算符 "::"

实例1:
MR_COUNT = 0 # 定义在主 Object 类上的常量
module Foo
MR_COUNT = 0
::MR_COUNT = 1 # 设置全局计数为 1
MR_COUNT = 2 # 设置局部计数为 2
end
puts MR_COUNT # 这是全局常量
puts Foo::MR_COUNT # 这是 "Foo" 的局部常量 实例2:
CONST = ' out there'
class Inside_one
CONST = proc {' in there'}
def where_is_my_CONST
::CONST + ' inside one'
end
end
class Inside_two
CONST = ' inside two'
def where_is_my_CONST
CONST
end
end
puts Inside_one.new.where_is_my_CONST
puts Inside_two.new.where_is_my_CONST
puts Object::CONST + Inside_two::CONST
puts Inside_two::CONST + CONST
puts Inside_one::CONST
puts Inside_one::CONST.call + Inside_two::CONST

四. Ruby中的字符串

请参看:https://www.runoob.com/ruby/ruby-string.html

1.值得注意的:

(1). Ruby中的%Q与%q

desc1 = %Q{Ruby 的字符串可以使用 '' 和 ""。}
desc2 = %q|Ruby 的字符串可以使用 '' 和 ""。| puts desc1
puts desc2

%Q:用于替代双引号的字符串. 当你需要在字符串里放入很多引号时候, 可以直接用下面方法而不需要在引号前逐个添加反斜杠 (\")

%q:%q与%Q类似,但表示单引号,其实在双引号中' ' 不需要转义的

(2). +,<<,*

+:字符连接        # 常用
<<:字符带入 # 没见过
*:字符循环 # python中有但没用过
a = "我爱你"
b = "亲爱的姑娘"
puts a+b
puts a<<b
puts a
puts a*3 输出结果:
我爱你亲爱的姑娘
我爱你亲爱的姑娘
我爱你亲爱的姑娘
我爱你亲爱的姑娘我爱你亲爱的姑娘我爱你亲爱的姑娘

(3). 单引号 '' 和双引号 "" 的区别

str = "流影之主\n劫"
str1 = '刀锋之影\n泰隆'
query = "#{40+10+50}"
query1 = '#{40+10+50}'
puts str
puts str1
puts query
puts query1 输出结果:
流影之主
劫
刀锋之影\n泰隆
100
#{40+10+50}

注:Ruby中的大部分关于string的方法与Python中的方法大体相同,可放心使用

Ruby学习中(首探数组, 注释, 运算符, 三元表达式, 字符串)的更多相关文章

  1. Ruby学习中(哈希变量/python的字典, 简单的类型转换)

    一. 哈希变量(相当于Python中的字典) 详情参看:https://www.runoob.com/ruby/ruby-hash.html 1.值得注意的 (1). 创建Hash时需注意 # 创建一 ...

  2. c的详细学习(2)数据类型,运算符与表达式

        本节用来介绍c语言中的数据类型和运算符.     (1)c语言的基本符号:       任何一种基本语言都有自己的基本词汇表.c语言的基本词汇表有一下几部分: *数字10个: *英文字母:大小 ...

  3. 周末学习笔记——day02(带参装饰器,wraps修改文档注释,三元表达式,列表字典推导式,迭代器,生成器,枚举对象,递归)

    一,复习 ''' 1.函数的参数:实参与形参 形参:定义函数()中出现的参数 实参:调用函数()中出现的参数 形参拿到实参的值,如果整体赋值(自己改变存放值的地址),实参不会改变,(可变类型)如果修改 ...

  4. java中把字节数组转换为16进制字符串

    把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { ...

  5. python学习Day12 函数的默认值、三元表达式、函数对象(函数名)的应用场景、名称空间与作用域

    复习 1.字符串的比较: -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 2. 函数的参数 : 1)实参与形参:       -- 形参:在函数定义时()中出现的参数       ...

  6. Ruby学习中(条件判断, 循环, 异常处理)

    一. 条件判断 详情参看:https://www.runoob.com/ruby/ruby-decision.html 1.详情实例(看看就中了) #---------------# # LOL场均人 ...

  7. C++中的字符数组、字符指、字符串针(腾讯)

    一.字符数组 1.定义时进行初始化的方式 (1)char c[12]={'I',' ','a','m',' ','h','a','p','p','y'};//最后两个元素自动补‘\0’(不是空格),其 ...

  8. pgsql中json格式数组查询结果变成了字符串

    场景复原 最近使用到了json的数组,用来存储多个文件的值,发现在连表查询的时候返回结果变成了字符串. { "id": "repl-placeholder-007&quo ...

  9. MATLAB学习(一)数组、变量、表达式、常用简单运算

    >> x=[1 2 3;4 5 6;7 8 9] x = 1 2 3 4 5 6 7 8 9 >> y=[1,2,3] y = 1 2 3 >> y=[1,2,3 ...

随机推荐

  1. CodeForces 724C Ray Tracing(碰撞类,扩展gcd)

    又一次遇到了碰撞类的题目,还是扩展gcd和同余模方程.上次博客的链接在这:http://www.cnblogs.com/zzyDS/p/5874440.html. 现在干脆解同余模直接按照套路来吧,如 ...

  2. PHP-过滤器-连接数据库-解析XML

    PHP 过滤器 what? PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入. 验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分. 设计 PHP 的过滤器扩展的目的 ...

  3. PHP-异常-1

    PHP 错误处理 在 PHP 中,默认的错误处理很简单.一条消息会被发送到浏览器,这条消息带有文件名.行号以及一条描述错误的消息. 在创建脚本和 web 应用程序时,错误处理是一个重要的部分.如果您的 ...

  4. Android学习_7/27

    一.           自定义控件 1.         引入布局 多个活动需要相同的布局时,使用引入布局的方式来实现代码复用. activity_main.xlm中加入<include la ...

  5. 11.二进制中1的个数 Java

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路 当n不等于0时执行以下循环: 1.判断n的最低位是否为1,若为1,则计数器加1 2.将n无符号右移1位(若使用带符号移 ...

  6. JSON 转含有泛型属性的对象

    在将 json 字符串转为对象时,如果对象含有泛型,在进行转换时需要指明泛型类型. 1. 对象只含有一个泛型属性时 1.1  代码 /** * @Describe: * @Author: chenfa ...

  7. Nginx常见配置

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  8. 微信小程序<web-view>出现{"base_resp":{"ret":-1}}

    最近在使用小程序<web-view>这个标签加载一个https网页的时候出现了{"base_resp":{"ret":-1}}这一个问题 搞了好久~ ...

  9. 如何评价深度学习框架Keras?

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&ut ...

  10. kubernetes排错系列:(二)、运行很久的kubernetes集群,创建出来的pod都是pending状态

    1.查看pod信息 # 查看pod 报错信息kubectl get pods发现pod的ip没有 生成,也没有分配到某个node节点 # 查看pod详细时间kubectl describe pods发 ...