私がやりたいのは、次のようなハッシュのハッシュを渡すことです。
input = {
"configVersion" => "someVers",
"box" =>
{
"primary" => {
"ip" => "192.168.1.1",
"host" => "something"
},
"api" => {
"live" => "livekey",
"test" => "testkey"
}
}
}
次に、値が別のハッシュである場合は続行し、それを使用して出力を生成します。結果は次のようになります。
configVersion = "someVers"
box.primary.ip = "192.168.1.1"
box.primary.host = "something"
等々...
値がハッシュの場合にクロールして続行する方法は知っていますが、全体を連結して値を戻す方法がわかりません。これが私のコードです:
def crawl(input)
input.each do |k,v|
case v
when Hash
out < "#{k}."
crawl(v)
else
out < " = '#{v}';"
end
end
end
私の問題は、定義する場所out
とそれをすべて戻す方法です。私はRubyが初めてです。