Home > database >  How to sort an array in Ruby
How to sort an array in Ruby

Time:06-08

Persoane = []
Nume = gets
Persoane.push Nume.split(",")
puts Persoane.sort

I am trying to get an user to input carachters that get split into substrings which get inserted in an array, then the program would output the strings in alphabetical order. It doesnt seem to work and I just get the array's contents, like so:

PS C:\Users\Lenovo\Desktop\Ruby> ruby "c:\Users\Lenovo\Desktop\Ruby\ruby-test.rb"
Scrie numele la persoane
Andrei,Codrin,Bradea
Andrei
Codrin
Bradea
PS C:\Users\Lenovo\Desktop\Ruby> 

CodePudding user response:

you can do this :

Nume = gets
puts Nume.split(",").sort

or in 1 line

array = gets.chomp.split(",").sort

CodePudding user response:

I'm not sure you need use constants here

If you don't need keep user input and use it somewhere, you can just chain methods like this

persons = gets.chomp.split(",").sort

CodePudding user response:

For something a little different, let's not split at all.

people = gets.scan(/[^,] /).map(&:strip).sort

This will avoid problems like multiple commas in a row yielding empty strings. Of course, you could also avoid that with:

people = gets.split(/\, /).map(&:strip).sort

CodePudding user response:

To sort an array with an alphabetical order you can do this :

puts Nume.split(",").sort!

And here you'll have the right order.

  •  Tags:  
  • ruby
  • Related