没有将哈希隐式转换为字符串(Ruby)
当有人键入没有将哈希隐式转换为字符串(Ruby),ruby,Ruby,当有人键入“!disconnect”时,我希望bot使用响应“PART##{CHANNEL}”断开连接 下面的代码段不是完整的代码,但是有end语句和所有内容 CHANNEL = "SomeChannelHere" prefix = "!" message = "!disconnect" commands = [ "disconnect" => "PART ##{CHANNEL}"] commands.each do |command| if message.inclu
“!disconnect”
时,我希望bot使用响应“PART##{CHANNEL}”
断开连接
下面的代码段不是完整的代码,但是有end
语句和所有内容
CHANNEL = "SomeChannelHere"
prefix = "!"
message = "!disconnect"
commands = [
"disconnect" => "PART ##{CHANNEL}"]
commands.each do |command|
if message.include?(prefix + command)
response = commands[command]
如何获取响应?您的
命令当前是一个哈希数组:
commands = ["disconnect" => "PART ##{CHANNEL}"]
#=> [{"disconnect"=>"PART #SomeChannelHere"}]
您必须使用{…}
而不是[…]
:
commands = {"disconnect" => "PART ##{CHANNEL}"}
#=> {"disconnect"=>"PART #SomeChannelHere"}
此外,每个
块需要两个参数(key和value):
您的命令当前是一个哈希数组:
commands = ["disconnect" => "PART ##{CHANNEL}"]
#=> [{"disconnect"=>"PART #SomeChannelHere"}]
您必须使用{…}
而不是[…]
:
commands = {"disconnect" => "PART ##{CHANNEL}"}
#=> {"disconnect"=>"PART #SomeChannelHere"}
此外,每个
块需要两个参数(key和value):
您缺少散列的密钥:
commands.each do |command|
p command["disconnect"]
p command.has_key?("disconnect")
end
您缺少散列的密钥:
commands.each do |command|
p command["disconnect"]
p command.has_key?("disconnect")
end
我无法重现你的问题。我在尝试验证您的代码时遇到多个语法错误。我无法重现您的问题。我在尝试验证代码时遇到多个语法错误。