Ruby创建数组方法总结

 更新时间:2019年01月17日 16:21:21   投稿:laozhang  
在本篇文章里小编给大家分享了关于Ruby创建数组方法的知识点内容,对戏有兴趣的朋友们学习下。

程序经常需要管理变量集合。例如,管理日历的程序必须有一周的天数列表。每天必须存储在一个变量中,它们的列表可以存储在一个数组变量中。通过这个数组变量,您可以访问每一天。

创建空数组

您可以通过创建一个新的数组对象并将其存储在一个变量中来创建一个空数组。这个数组将为空;您必须用其他变量填充它才能使用它。如果要从键盘或文件中读取内容列表,这是创建变量的一种常见方法。

在下面的示例程序中,使用array命令和赋值运算符创建一个空数组。从键盘上读取三个字符串(字符的有序序列)并“pushed”或添加到数组的末尾。

#!/usr/bin/env ruby
array = Array.new
3.times do
str = gets.chomp
array.push str
end

使用数组文字来存储已知信息

数组的另一个用途是存储编写程序时已经知道的内容的列表,例如星期几。要将星期几存储在数组中,可以创建一个空数组,并像前面的示例那样将它们一个接一个地追加到数组中,但是有一种更简单的方法。可以使用数组文字。

在编程中,“literal”是一种内置在语言本身中的变量类型,它有特殊的语法来创建它。例如,3是一个数字文字,而“Ruby”是一个字符串文字。数组文字是用方括号括起来并以逗号分隔的变量列表,如[1,2,3]。注意,任何类型的变量都可以存储在数组中,包括同一数组中不同类型的变量。

下面的示例程序创建一个包含星期几的数组并将其打印出来。使用数组文字,并使用每个循环来打印它们。注意,每一个都不是Ruby语言内置的,而是数组变量的函数。

#!/usr/bin/env ruby
days = [ "Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
]
days.each do|d|
puts d
end

使用索引操作符访问各个变量

除了对数组进行简单的循环(按顺序检查每个单独的变量)之外,还可以使用index操作符从数组中访问单独的变量。index操作符将获取一个数字并从数组中检索一个变量,该变量在数组中的位置与该数字匹配。索引号从0开始,因此数组中的第一个变量的索引为0。

例如,要从数组中检索第一个变量,可以使用数组[0],要检索第二个变量,可以使用数组[1]。在下面的示例中,名称列表存储在数组中,并使用index操作符检索和打印。索引操作符还可以与赋值操作符组合使用,以更改数组中变量的值。

#!/usr/bin/env ruby
names = [ "Bob", "Jim",
"Joe", "Susan" ]
puts names[0] # Bob
puts names[2] # Joe
# Change Jim to Billy
names[1] = "Billy"

相关文章

  • C#图像亮度调整的方法

    C#图像亮度调整的方法

    这篇文章主要介绍了C#图像亮度调整的方法,涉及C#操作图像亮度的相关技巧,需要的朋友可以参考下
    2015-04-04
  • C#实现托盘程序并禁止多个应用实例运行的方法

    C#实现托盘程序并禁止多个应用实例运行的方法

    这篇文章主要介绍了C#实现托盘程序并禁止多个应用实例运行的方法,涉及C#中NotifyIcon控件的使用及设置标志位控制程序只运行一个的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • C#实现从PDF中提取表格的方法详解

    C#实现从PDF中提取表格的方法详解

    PDF是办公中比较常见的一种文件格式,在工作中应用也越来越普遍。今天为大家介绍一种通过C#/VB.NET代码从PDF中提取表格内容的方法,感兴趣的可以动手尝试一下
    2022-08-08
  • C#向线程中传递多个参数的解决方法(两种)

    C#向线程中传递多个参数的解决方法(两种)

    这篇文章主要介绍了C#向线程中传递多个参数的解决方法(两种)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Unity Shader片段着色器使用基础详解

    Unity Shader片段着色器使用基础详解

    顶点-片段着色器是Unity Shader中最基础的着色器类型,用于控制3D模型的渲染效果。通过顶点着色器计算模型的顶点位置和法线方向,再通过片段着色器计算模型表面的颜色、光照、阴影等效果
    2023-05-05
  • C#实现从多列的DataTable里取需要的几列

    C#实现从多列的DataTable里取需要的几列

    这篇文章主要介绍了C#实现从多列的DataTable里取需要的几列,涉及C#针对DataTable操作的相关技巧,需要的朋友可以参考下
    2016-03-03
  • 使用C#来编写一个异步的Socket服务器

    使用C#来编写一个异步的Socket服务器

    这篇文章主要介绍了使用C#来编写一个异步的Socket服务器,通过无阻塞机制来获取更高的处理效率,需要的朋友可以参考下
    2015-07-07
  • C# DataTable分页处理实例代码

    C# DataTable分页处理实例代码

    有时候我们从数据库获取的数据量太大,而我们不需要一次性显示那么多的时候,我们就要对数据进行分页处理了,让每页显示不同的数据。
    2017-06-06
  • C# 设计模式系列教程-建造者模式

    C# 设计模式系列教程-建造者模式

    用户只需要指定要建造的类型就可以得到它们,而具体的建造过程和细节不需要知道。
    2016-06-06
  • C# WINFORM自定义异常处理方法

    C# WINFORM自定义异常处理方法

    这篇文章主要介绍了一个简单的统一异常处理方法。系统底层出现异常,写入记录文件,系统顶层捕获底层异常,显示提示信息。需要的可以参考一下
    2021-12-12

最新评论