2016-06-22 3 views
0

ここで初めて投稿する(長年の読書後)。私はLUAのことをかなり新しくしています。それは信じられないほど便利でシンプルですが、何らかの理由でまだ苦労しています。部分関数名を渡して元の関数を呼び出すように連結する

私は基本的にここでホイールを再発明していますが、テスターが作業するシミュレーションエンジン用のデバッガーを作成するのはできるだけ簡単にしたいと考えています。私は簡単にそれが存在するようにすることができますが、現時点では個人的です。私はその問題が自分のロジックであることを理解する必要があります。プロセスを短縮し、簡素化し、私は関数を作成しようとしているが

print_message_to_user(string.format("Engine RPM: %d", sensor_data:getEngineRPM())) 

、デバッガ()、::

エンジンでデバッガを作成するための既存の方法のようなものだろう

function debugger(helptext, sensor) 
    print_message_to_user(string.format("%s: %d", helptext, sensor_data:..sensor..())) 
end 

、その後のように呼ばれている:

debugger("Engine RPM", getEngineLeftRPM) 

...そしてもちろん」doesnの仕事。うまくいけば、実際の関数を呼び出すために、シンボルと連結されたハンドルを連結しようとしている方法とすべてが関係していると確信しています。

答えて

3
function debugger(helptext, sensor) 
    print_message_to_user(
     string.format("%s: %d", helptext, sensor_data[sensor](sensor_data)) 
    ) 
end 

debugger("Engine RPM", "getEngineLeftRPM") 
関連する問題