Похоже, platform_info
предназначен для хеша .
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