ruby переменная экземпляра не инициализирована - PullRequest
0 голосов
/ 13 января 2020

Я действительно новичок в ruby. Используя ruby 2.4.6p354 на ма c, у меня есть простая программа, которая копирует весь текст из файла и выводит его в буфер обмена, используя gem буфера обмена .

Программа работает, но когда я ее запускаю, я получаю следующее предупреждение:

предупреждение: переменная экземпляра @implementation не инициализирована

Я искал ответ на этот вопрос но я не могу найти ничего, что конкретно относится к этой проблеме. Я полагаю, что это как-то связано с использованием гема буфера обмена, но я не уверен.

Вот весь код моей программы:

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

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

Если кто-то может позволить мне Знайте, почему это происходит, и скажите мне, как это исправить, чтобы я не получал это предупреждение при запуске своей программы, я был бы признателен за это.

1 Ответ

1 голос
/ 13 января 2020

Это параметр командной строки для вашего ruby:

-w              turn warnings on for your script

Это заставляет эту строку выдавать ошибку:

return @implementation if @implementation

В этой строке нет ничего плохого. Предупреждение можно игнорировать.

Но если это был ваш код, который вызвал его, вы могли бы исправить это, инициализируя переменную экземпляра в вашем инициализаторе. Даже установив его на nil.

...