剛開始紅寶石:)
我正在創建一個小型 ruby?? 程式,其中用戶輸入一串字母并列印所有可能的排列。
我正在嘗試撰寫一個只有 1 行長的函式,但我無法讓它運行
請提供任何幫助:)
puts "Enter phrase:"
input_string = gets.split("")
#function
print input_string.permutation().to_a
uj5u.com熱心網友回復:
chomp()在呼叫之前嘗試呼叫split():
puts "Enter phrase:"
input_string = gets.chomp().split("")
print input_string.permutation().to_a, "\n"
示例用法:
Enter phrase:
ABC
[["A", "B", "C"], ["A", "C", "B"], ["B", "A", "C"], ["B", "C", "A"], ["C", "A", "B"], ["C", "B", "A"]]
在這里試試。
uj5u.com熱心網友回復:
在 Ruby 中,您始終可以在一行上撰寫任何程式,因為換行符始終是可選的。它們總是可以用運算式分隔符(即分號;)、關鍵字(例如then, do)或有時只是空格(例如def foo() 42 end)來替換。
在你的情況下,這看起來像這樣:
puts "Enter phrase:"; input_string = gets.split(""); print input_string.permutation().to_a
但是,關注行數通常不是一個好主意,因為它不一定會增加可讀性。我們在文本中使用多行來提高可讀性,那么為什么代碼不應該也是如此呢?或者你認為把這一段寫在一行上有什么改善嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/442023.html
