无法加载我的 Ruby 文件

Can't Load my Ruby File

好的,所以我只是选择 Ruby 来享受踢球和咯咯的笑声……相信我,当我说我被难住了时。

我想为我的 Twitch 流创建一个机器人并在 Ruby 中进行,因为我发现了一个相当容易跟上的教程,以及我的推理能力。但是,我很难获得命令提示符或撬来加载文件。

这是我的文件以防万一

require 'socket'

TWITCH_HOST = "irc.twitch.tv"
TWITCH_PORT = 6667

class Fox

def initialize
    @nickname = "mybotsname"
    @password = "I have the proper oauth here"
    @channel = "mytwitchchannel"
    @socket = TCPSocket.open(TWITCH_HOST, TWITCH_PORT)

    write_to_system "PASS #{@password}"
    write_to_system "NICK #{@nickname}"
    write_to_system "USER #{@nickname} 0 * #{@nickname}"
    write_to_system "JOIN ##{@Channel}"
end

def write_to_system(message)
    @socket.puts message
end

def write_to_chat(message)
    write_to_system "PRIVMSG ##{@channel} :{message}"
end

end

现在,根据我收集到的信息,我应该可以进入我的命令提示符并键入 pry 我明白了。 Pry

现在,我想 运行 我的程序位于保管箱(私人使用)

我对 Repl 的概念还是很陌生,因为我一直在使用 Java,但对其他语言的经验却很少。我在这里做错了什么?为什么我不能正确加载我的文件?我也试过文件路径并得到了这个。FilePathing

如果这是一个愚蠢的问题,我很抱歉。这简直让我疯狂。这让我发疯的原因是我正在观看的视频,除了我猜测他使用的是终端而不是命令提示符之外,他没有做任何不同的事情。我最初想通过 Cygwin 执行此操作,但在安装 Pry 后我丢失了一堆 Cygwin 文件并且无法再加载 Cygwin,我稍后将重新安装所有程序并从那里看看我能做什么。

抱歉没有嵌入图片。

此外,任何更简单的方法我都洗耳恭听。我已经尝试过 Komodo Edit 10,但它的表现并不好。

需要 LOAD_PATH

一个Ruby模块或class文件需要在LOAD_PATH到require它与Kernel#require。例如,如果您的文件名为 just_in_case.rb,您可以使用:

$LOAD_PATH.unshift '/path/to/dropbox/directory'

# Leave off the path and .rb extension.
require 'just_in_case' 

从绝对路径加载

如果您需要提供绝对路径,那么您应该使用Kernel#load。例如:

# Use the absolute path and the .rb extension.
load '/path/to/dropbox/just_in_case.rb'

注意事项

requirerequire_relativeload 之间还有其他一些行为差异,但在您提出的问题的有限范围内,它们可能并不重要,除非REPL 中的 Kernel#require_relative 历来存在问题。它现在可能会或可能不会按预期工作,但我仍然建议为您的特定用例使用 require 或 load。