2016-07-20 8 views
-1

私はRubyが新しく、このエラーを修正する方法はありません。私が下のコードを含むスクリプトを実行すると、私はいつもエラーを受け取ります: 'SymbolからIntegerへの暗黙の変換はありません。問題は@killProc ...、@Name = ...、@working_directoryの行にあると思います。 何が間違っているか教えてもらえますか?SymbolからInteger、Rubyへの暗黙的な変換がありません

ご協力いただきありがとうござい

class RubyCommand 
     include Patir::Command 
     attr_reader :cmd,:working_directory,:killProc 
     def initialize params,&block 
     @killProc=params[:killProc] 
     @name=params[:name] 
     @working_directory=params[working_directory]||"." 
     if block_given? 
      @cmd=block 
     else 
      raise "You Need to provide a block" 
     end 
     end 
    end 
+0

'Array#[]'が整数を必要とするため、パラメタを 'Hash'の代わりに' Array'として渡してしまいます。また、それはtypoですが、ルビーは**クロックを出さない** – engineersmnky

答えて

0

あなたの代わりにハッシュの配列を渡しているかなり確信して。

RubyCommand.new({killProc:1,name:"test"}) 
+0

ここで私がRubyCommandと呼ぶ部分です。 \t IP = "{WAGO_IP}" ポート= "{WAGO_PORT}" \t step.cmd = Litu :: RubyCommand.new( "switch_wago_do")を行う| CMD、コンテキスト|それを行う@shube – shube

+0

'String'で呼び出すことはできません。 'String#[]'は整数値も探しています。この回答は、ポスターに必要なブロックが含まれていなかった – engineersmnky

関連する問題