2010-06-09 49 views
0
class EncodeDemoTest < Test      #inheritance in ruby 
     def setup(platform_info, logdir) 
     @telnet_ip     = platform_info["telnet_ip"] 
     @telnet_login    = platform_info["telnet_login"] 
     @telnet_password   = nil 
     @filesys_path    = platform_info["filesys_path"] 
     @host_files_path   = platform_info["host_files_path"] 
     @host_machine_ip   = platform_info["host_machine_ip"] 
     @linuxserver_ip    = platform_info["linuxserver_ip"] 
     @target_prompt    = platform_info["target_prompt"] 
     @demo_execuable_path  = platform_info["demo_execuable_path"] 
     @mts4ea_machine_ip   = platform_info["mts4ea_machine_ip"] 
     @mts4ea_files_path   = platform_info["mts4ea_files_path"] 
     @ffmpeg_machine_ip   = platform_info["ffmpeg_machine_ip"] 
     @ffmpeg_service_machine_ip = platform_info["ffmpeg_service_machine_ip"]   
     @ffmpeg_files_path   = platform_info["ffmpeg_files_path"] 
     @ffmpeg_login    = platform_info["ffmpeg_login"] 
     @ffmpeg_password   = platform_info["ffmpeg_password"] 
     @ffmpeg_prompt    = platform_info["ffmpeg_prompt"] 
     @platform_info    = platform_info 

任何人都可以告訴我在設置方法傳遞的參數如何.means又有什麼語法意味着platform_info["telnet_ip"]Ruby語言的語法(可變如何platform_info用於

回答

0

看起來platform_info旨在成爲一個Hash

setup會喜歡的東西setup({'telnet_ip' => 'value'}, 'logdir_value')platform_info["telnet_ip"]被稱爲會再從platform_info返回值的關鍵"telnet_ip"

更新

給予代碼:

@board = Target::TelnetClient.new "192.168.247.68", "root", 
    @telnet_password, logdir + "/log.txt" 
app = Target::EncodeDemoApp.new() app.setup(@board, @demo_execuable_path) 

它看起來像@board不是Hash但它是一個Target::TelnetClient它必須有一個[]方法,使得它像一個Hash

如果你想找出什麼是什麼類,你可以使用class方法,例如你可以把你的程序:

puts "@board is a #{@board.class}" 
puts "@demo_executable_path is a #{@demo_executable_path.class}" 

對於@board,看到什麼值它包含(telnet_ip,telnet_login等),你可以嘗試:

puts @board.keys.inspect 

最後,看對象提供的方法你可以使用public_methods例如

puts @board.public_methods.inspect 
+0

感謝mikej,但你能PLZ expain它更像我如何確認platform_info是哈希和是否有任何其他的方式來調用其他設置功能比什麼ü寫道plzzz IM等待GOR烏爾輸入反應 – 2010-06-10 06:01:41

+0

感謝mikej,但可以üplz擴大它更像我如何確認platform_info是哈希,並有任何其他方式來調用設置功能,而不是你寫的plzzz即時消息等待你的迴應 – 2010-06-10 06:03:18

+0

nd我添加一行 @board = Target :: TelnetClient.new「 192.168.247.68「,」root「,@telnet_password,logdir +」/log.txt「 設置(@ board,@ demoexcucuable path) now cud u plz explain more – 2010-06-10 06:08:40