我正在尝试构建一个鞋子应用程序,但由于某种原因,我在类实例上调用的方法(print_statement)没有做任何事情。 我可以看到该实例已在鞋子应用程序中创建(其中的方法可供使用),但是当我调用该方法时,似乎没有任何反应(它在 IRB 中工作正常)。
鞋代码:
`flow(margin: 15) do
button "Print Statement" do
@statement = Statement.new(@account)
para @statement.print_statement
end
end`
语句中的实例方法是:
def print_statement
i = 0
print_array = []
while i < account.transaction_record.length
transaction = account.transaction_record[i]
transaction_object = transaction[0]
print_array.push( "Date: #{transaction_object.created_date} "
"Transaction Type: #{transaction_object.class} "
"Amount: #{transaction_object.value} Balance: #{transaction[1]}" )
i += 1
end
return print_array
end
在同一实例上调用attr_reader方法有效,但对print_statement方法的调用无效(不是有史以来最优雅的方法!),即使在 RSpec 和 IRB 中都经过测试和工作。
直到现在,当我更新项目代码中的代码时,我只需关闭正在运行项目的 Shoes 窗口,重新打开它,代码更新就会全部存在并正常工作,直到发生此问题。
在我从Mac扩展坞退出整个Shoes应用程序并重新启动它然后在Shoes中再次打开我的项目后,它似乎已经自行解决。