ruby 实例变量未初始化

ruby instance variable not initialized

我真的是 ruby 的新手。在 mac 上使用 ruby 2.4.6p354,我有一个简单的程序,可以从文件中复制所有文本并使用 clipboard gem.

将其输出到剪贴板

该程序可以运行,但是当我 运行 它时,我收到以下警告:

warning: instance variable @implementation not initialized

我已经搜索过这个问题的答案,但我找不到任何专门针对这个问题的答案。我相信这与剪贴板 gem 的使用方式有关,但我不确定。

这是我程序的全部代码:

#!/usr/bin/ruby -w
require 'clipboard'

Clipboard.copy File.read("path_to_file/file.txt")

如果有人能让我知道为什么会这样,并告诉我如何修复它,这样当我 运行 我的程序时就不会收到这个警告,我将不胜感激。

这是您的 ruby:

的命令行参数
-w              turn warnings on for your script

它使这一行引发错误:

return @implementation if @implementation

这一行没有任何问题。警告可以忽略。

但如果是您的代码触发了它,您可以通过在初始化程序中初始化实例变量来修复它。即使将其设置为 nil.