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的临时字符串。我们正在应用一种非常常见的排序方法,其中采用了两个循环。比较字符串,无论结果如何,都将相应执行进一步的步骤。