我的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)试图访问类范围之外的变量gx
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/

10-10 23:34