gpt4 book ai didi

ruby - 使用 Tk 和 Ruby 打开文件并取消时出错

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:46 25 4
gpt4 key购买 nike

我是 Ruby(以及一般的脚本或编程)的新手,似乎无法找出此错误(或烦恼)的来源:

所以复制问题的最少代码是:

require 'tk'

open(Tk.getOpenFile)

现在对话框按预期打开,只要我选择一些文件,一切都会正常进行。如果我按取消键,我希望它安静地关闭对话框,但它会抛出各种错误。我能做些什么来防止出现这些错误消息吗?

我收到的错误信息是:

file_path:in `initialize': No such file or directory -  (Errno::ENOENT)
from file_path:3:in `open'
from file_path:3:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'

我不得不说我真的不明白发生了什么。有人可以用介绍性的方式解释一下吗(我已经用谷歌搜索了很长时间,但是(可能是由于我在这些问题上的知识和词汇量有限)我还没有找到任何可以向我解释的东西)。任何帮助将不胜感激。

最佳答案

问题是当您按下取消时 Tk.getOpenFile 返回一个空字符串。然后,您将空字符串传递给 open 方法(它需要一个正确的文件路径),然后它就崩溃了。

要使代码在所有情况下都能正常工作,您只需检查空字符串即可。

file_path = Tk.getOpenFile
open(file_path) unless file_path.empty?

关于ruby - 使用 Tk 和 Ruby 打开文件并取消时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com