Persoane = []
Nume = gets
Persoane.push Nume.split(",")
puts Persoane.sort
我試圖讓用戶輸入拆分為子字串的字符,這些子字串插入陣列中,然后程式將按字母順序輸出字串。它似乎不起作用,我只是得到陣列的內容,如下所示:
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>
uj5u.com熱心網友回復:
你可以這樣做 :
Nume = gets
puts Nume.split(",").sort
或在 1 行
array = gets.chomp.split(",").sort
uj5u.com熱心網友回復:
該錯誤是因為您使用了push. 假設您Nume通過以下方式定義常量
Nume='Andrei,Codrin,Bradea'
然后,Nume.split(',')將回傳 Array ['Andrei', 'Codrin', 'Bradea']。當您執行 aPersoane.push時,整個陣列將Persoane 作為單個元素添加到您的陣列中。因此,Persoane僅包含一個元素,您可以在執行
p Persoane
如果您對一個元素陣列進行排序,結果也將只是那個元素 - 沒有什么可排序的。
您可以做的是使用concat而不是push. 這將導致Persoane成為一個可以排序的 3 元素陣列。
uj5u.com熱心網友回復:
我不確定你需要在這里使用常量
如果您不需要保留用戶輸入并在某處使用它,您可以像這樣鏈接方法
persons = gets.chomp.split(",").sort
uj5u.com熱心網友回復:
對于一些不同的東西,我們根本不要分裂。
people = gets.scan(/[^,] /).map(&:strip).sort
這將避免諸如連續多個逗號產生空字串的問題。當然,您也可以通過以下方式避免這種情況:
people = gets.split(/\, /).map(&:strip).sort
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/489082.html
標籤:红宝石
