【发布时间】:2015-11-12 05:58:44
【问题描述】:
所以我有一个名为 pushups 的哈希,我在我创建的另一个方法之外定义了它:
pushups = {"2015-04-16-10:05:01" => 25, "2015-04-10-10:05:01" => 150, "2015-04-11-10:05:01" => 99 }
但是,当我在上面的哈希上运行下面的方法时,我收到以下错误:
main:Object (NameError) 的未定义局部变量或方法“pushups”
基本上,我只想转换上面散列中的所有键,并将其打印在具有相同值的更新散列中,甚至只是作为所有更新键的新数组。
def convert_dates(timestamp)
pushups.each do |timestamp, numberOfPushups|
date = DateTime.strptime(timestamp, "%Y-%m-%d-%H:%M:%S")
end
print date
end
我认为我已经充分定义并初始化了哈希。所以我不确定这是否是问题所在。这里似乎有什么问题?
【问题讨论】:
-
当代码中的变量为
pullups时,为什么会收到pushups的错误?您是复制粘贴错误还是在此处手动输入?请分享正确的信息。 -
抱歉错字!我修好了。
-
如果您只想打印日期:
require 'date'; p pushups.map { |timestamp,_| DateTime.strptime(timestamp, "%Y-%m-%d-%H:%M:%S") }。您的代码加载了错误。我很抱歉,但我现在没有时间去处理它。也许其他人可以发布一个答案来识别错误并向您展示如何修复它们。不要太沮丧,我们大多数人在第一次学习 Ruby 时都会遇到类似的问题。