我必須用ruby編程語言編寫一個程序,其中打印最長的名稱,使用拆分方法,大小最大值,長度。紅寶石字符串/數組寫入程序
這是我到目前爲止有:試圖獲得最大的整數1
時
name = gets.chomp.split
name.each do |x|
puts x.size
for i in 1..x.size do
puts i.max
end
end
我必須用ruby編程語言編寫一個程序,其中打印最長的名稱,使用拆分方法,大小最大值,長度。紅寶石字符串/數組寫入程序
這是我到目前爲止有:試圖獲得最大的整數1
時
name = gets.chomp.split
name.each do |x|
puts x.size
for i in 1..x.size do
puts i.max
end
end
的代碼失敗。對於正確的代碼,這是一個奇怪的猜測,並且意味着您應該修改Ruby塊的工作方式(您似乎期望max
和each
之間的交互確實不存在)。
如果不允許使用內置插件,從列表中獲取最大值的常用方法是設置「當前最大值」,然後掃描列表,檢查每個項目以查看是否它比目前大。如果是,請將當前值設置爲該值。最後,你將擁有最大的物品。
name = gets.chomp.split
current_max = ''
name.each do |x|
if x.size > current_max.size
current_max = x
end
end
puts current_max
非常感謝 – user3104680
使用最初爲空字符串的變量。
max_name = ""
當你在循環內,檢查各x.size
比max_name.size
大。如果是這樣的話,你已經找到了一個新的max_name,所以max_name = x
。
你爲此做了什麼? –
name = gets.chomp.split name.each do | x | puts x.size for i in 1..x.size do puts i.max end end – user3104680
你的問題是什麼? –