ruby 中的错误:未定义的局部变量或方法

Error in ruby : undefined local variable or method

我在尝试编程 ruby 时遇到错误。 错误:C:/Users/PC ASUS/Desktop/g.rb:3:in <main>': undefined local variable or method 'y' for main:Object (NameError)

这是我的代码:

puts " Do you like to install hacking pack?"
insta_one = gets.chomp

if insta_one == y
make
else 
puts "Ok. Bye!"
end

def make
awe = file.new("shell.bat","w")
readme.puts("@echo off")
readme.puts("color a")
readme.puts("echo Installing hacking pack")
readme.puts("Thanks for downloading rootShell!")
readme.puts("My email - cyniclimbu@gmail.com")
end

y 不是字符串而是未定义的变量。

请更改第 3 行:

if insta_one == 'y'

在使用方法之前,您需要定义它。在您的代码中,make 是在 您尝试调用它之后 定义的,因此 ruby 不熟悉它,并抛出错误:

def make
  File.open("shell.bat", 'w') do |readme|
    readme.puts("@echo off")
    readme.puts("color a")
    readme.puts("echo Installing hacking pack")
    readme.puts("Thanks for downloading rootShell!")
    readme.puts("My email - cyniclimbu@gmail.com")
  end
end

puts " Do you like to install hacking pack?"
insta_one = gets.chomp

if insta_one == 'y'
  make
else 
  puts "Ok. Bye!"
end