Ruby-如何使用声明的变量给出文​​件名

时间:2015-03-01 22:49:51

标签: ruby

我想创建一个声明为$ TENANT变量name.so的文件名,当我尝试创建一个带变量的文件时声明它将$ TENANT变量作为文件名但添加?在文件名的末尾

预期产量:  $ TENANT = cat123dbg

应使用$TENANT变量创建文件,即cat123dbg.txt或任何扩展名。但该文件是使用cat123dbg创建的?($ tenant变量名称带?) 有人可以帮帮我..

    print "Enter the tenant name:"
    $TENANT=gets.chomp('/\p{Alnum}/')
    $first = $TENANT.slice(0,1).capitalize
    $second =$TENANT.slice(1..-1)
    $PASSWORD="Export-"+ $first + $second.chomp + "!"
    FILENAME=$TENANT.chomp + ".xar"
    file = File.open("../input/exporttenant.rb", "r")
    $line = file.readlines.select{|line| line.match('DS_ENTRY_OMS_SERVER')}
    file.close
    output=File.open("../input/#{$TENANT}", 'w')
    output.puts "TENANT_NAME=#{$TENANT}"
    output.puts "EXPORT_PASSWORD=#{$PASSWORD}"
    output.puts "EXPORT_FILENAME=#{FILENAME}"
    output.puts "EXPORT_WITHOUT_TAR=N"
    output.puts "BYPASS_BLOB=N"
    output.puts $line
    output.close

    print "Export tenant created for the #{$TENANT}\n"

1 个答案:

答案 0 :(得分:4)

使用字符串插值将“$ TENANT”替换为变量$TENANT的内容。

而不是......

output=File.open("/../Desktop/input/$TENANT", 'w')

做...

output=File.open("/../Desktop/input/#{$TENANT}", 'w')