Ruby程序使用命令行参数对数组进行排序
在Ruby中对数组排序
在此程序中,我们将介绍命令行参数的概念。可以使用“ARGV”关键字从用户那里获取命令行参数。命令行参数不过是借助命令行提供给程序代码的输入。我们必须借助任何方法对这些命令行参数进行排序,并提供排序后的字符串作为代码的输出。
使用的方法:
.length:此方法用于查找对象的长度。在这里,我们使用它来查找用户提供的参数数量。
puts:这是一种非常常见但重要的方法。它用于将字符串作为消息放在控制台上。在这里,我们借助此方法打印数组元素。
使用的变量:
str:此容器用于存储命令行参数。
ch:用于存储临时字符串。在排序时使用。
l:它存储从str.length函数返回的值。
i:这是一个循环变量。
j:它也是用于排序的循环变量。
Ruby代码使用命令行参数对数组进行排序
=begin Ruby program to sort an array with command line arguments =end str = ARGV #从命令行获取输入 l = str.length ch = "" #临时字符串 for i in 1..l for j in 0..l-1 #字符串比较 if(str[j].to_s>str[j+1].to_s) ch=str[j] str[j] = str[j+1] str[j+1]=ch end end end puts str
输出结果
Run 1: Amisha Satyam Ayush Saksham Nikhil Amisha Ayush Hrithik Nikhil Saksham Satyam Run 2: Orange Banana Pineapple Papaya Apple Banana Orange Papaya Pineapple
代码逻辑:
在上面的代码中,我们将字符串作为命令行的输入。这些字符串称为命令行参数。我们已经声明了一个名为ch的临时字符串。我们正在应用一种非常常见的排序方法,其中采用了两个循环。比较字符串,无论结果如何,都将相应执行进一步的步骤。