私は簡単なプログラムを実行しようとしています:
class Pras
def samleMethod
a = 12
p "a"
end
end
エラーはありませんが、出力が表示されないのはなぜですか?
編集
class Pras
def samleMethod
a = 12
p a
end
end
私は簡単なプログラムを実行しようとしています:
class Pras
def samleMethod
a = 12
p "a"
end
end
エラーはありませんが、出力が表示されないのはなぜですか?
class Pras
def samleMethod
a = 12
p a
end
end
変数ではなく文字列「a」を出力しています。代わりにこれを使用してください:p a
編集:
Rostyslavが述べたように、あなたは何も実行していません:試してみてくださいPras.new.samleMethod
私にとって完璧に機能します:
ここでクラスを定義します。
irb(main):014:0> class Pras
irb(main):015:1> def samleMethod
irb(main):016:2> a = 12
irb(main):017:2> p a
irb(main):018:2> end
irb(main):019:1> end
=> nil
そのクラスのオブジェクトを作成してインスタンス化し、実際に印刷してインスタンスメソッドを呼び出す方法は次のとおりです。
irb(main):020:0> Pras.new.samleMethod
12
=> 12
class Pras
def samleMethod
a = 12
p a
end
end
これでは、sampleMethodという名前のパブリックメソッドを使用してPrasという名前のクラスを作成しています。
私はあなたがOOPについてある程度の知識を持っていると思います
したがって、メソッドにアクセスするときはいつでも、それにアクセスするためのクラスのインスタンスを作成する必要があります。
p = Pras.new
これで、インスタンスを使用してメソッドにアクセスできます
p.sampleMethod
または両方を1行で
Pras.new.sampleMethod
このタットをよく見てみることをお勧めします。http://www.tutorialspoint.com/ruby/ruby_quick_guide.htm
メソッドは、呼び出されない限り実行されません。
ここでこのコードをオンラインで試してください