我的if语句不起作用,想知道我是否能得到一些帮助我会输入“FnPrint”,我的if语句将不起作用。
puts "hi"
g = gets()
# Class for print command
x = "FnPrint"
class Fnprint
def Print
if x = g
puts "it worked"
else
puts "no"
end
end
end
Fnprint.new.Print
当我试着运行它时,我一直得到这个:
lang.rb:9:in `Print': undefined local variable or method `g' for #<Fnprint:0x007f9379939040> (NameError)
from lang.rb:17:in `<main>'
最佳答案
你做了很多不正确的事情
1)错误的比较运算符=
而不是==
2)试图访问类范围之外的变量g
和x
。
3)方法名是常量(在ruby中,任何以大写字母开头的都是常量)。方法名应全部为downcase,多字时用_
分隔。
class FnPrint
def print(x)
g = gets.strip
if x == g
puts 'it worked'
else
puts 'no'
end
end
end
fn_print_object = FnPrint.new
fn_print_object.print('FnPrint')
关于ruby - 如何在Ruby的类中使用if语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19654427/