尝试在Ruby中查找数组中最长的字符串
如何在ruby中找到数组中最长的名称。以下是我尝试过的:尝试在Ruby中查找数组中最长的字符串,ruby,Ruby,如何在ruby中找到数组中最长的名称。以下是我尝试过的: people = ["john", "clark", "stan", "mike", "nick", "devon"] def find_longest_name(people) longest_name = nil longest_name_length = -1 people.each do |friend| if friend.length > longest_name_length lon
people = ["john", "clark", "stan", "mike", "nick", "devon"]
def find_longest_name(people)
longest_name = nil
longest_name_length = -1
people.each do |friend|
if friend.length > longest_name_length
longest_name = frined
longest_name_length = friend.length
end
end
return longest_name
end
puts "#{longest_name_length}"
我得到一个错误,说我有一个未定义的变量 试试这个
people.max_by(&:length)
你在这一行把friend
错放进了friend
longest_name = frined
最多
people.map(&:length).max
最低限度
people.map(&:length).min
如果您想要最大字符串的长度
h = {}
people.map{|a| h[a]= a.length}
h.key(h.values.max)
friend
!=<代码>朋友您遇到了哪个错误?请阅读整个错误,它会告诉您a)在哪里可以找到未定义的变量,b)变量的确切名称。看看这个名字。您是否1000000%确定这是变量的名称?在put“{longest\u name\u length}”中,在方法定义中定义了longest\u name\u length
。将无法从外部访问。