に基づいてメソッドを呼び出すI次のコードを持っている:あなたが見ることができるようにルビー:基準
class Engine
attr_accessor :isRunning
def initialize
@isRunning = false
@commands = ["left", "right", "brake", "accelerate", "quit"]
end
def start
self.isRunning = true;
while(self.isRunning)
command = gets.chomp!
if(@commands.include? command)
puts "OK."
else
puts "> #{command} Unknown Command."
end
if(command=="quit") then
self.stop
puts "Quitting!"
end
end
end
def stop
self.isRunning = false;
end
end
が、それはしかし、私は基準に基づいてメソッドを呼び出す方法を把握しようとしています、非常に単純ですが。私はこのようなエンジンクラスの内部methodOneとmethodTwoのように、メソッドの束を実装した場合:
@commands = ["left", "right", "brake", "accelerate", "quit", "methodOne", "methodTwo"]
def methodOne
end
def methodTwo
end
def parseCommand(command)
if(command=="methodOne") then
self.methodOne
end
if(command=="methodTwo") then
self.methodTwo
end
end
を私はminimalisticallyこれらのメソッドを呼び出すことができますか?今、私はif文の大きな山を書かなければならないでしょう。もっとエレガントにできれば、将来のメンテナンスを省略することになります。
慣用:methodOne - > method_one。 if(condition) - > if条件。そして、間違いなく、だれでも「当時」を使用しています。 – tokland