从变量命名新文件

时间:2018-09-24 00:43:55

标签: ruby

我有一个变量,其内容随着程序的进展而变化。 我需要创建一个txt文件,将其名称从变量中提取出来(无论当时发生什么情况)。

我似乎无法做到这一点。

当前我的代码是

 $var="filename"
    f = File.open ("#$var.txt")

“文件”的其他排列。无法读取变量内容,只是将文件命名为'$ var.txt'。同时,通过File.open,我收到“没有这样的文件或目录”错误。所以我尝试了

$var="filename"    
   f = File.open ("#$var.txt", "w")

错误消失了,但由

代替
  

语法错误,意外的',',预期为')'

*好吧,一旦完成此操作,我就通过在括号内设置w +来解决了这一问题。事后看来似乎很明显,但我想我现在的问题是,为什么每处爆炸的文档都给我错误的语法...

1 个答案:

答案 0 :(得分:1)

我将左括号和右括号放在方法调用的旁边:

f = File.open("#{$var}.txt", "w")

而不是:

f = File.open ("#{$var}.txt", "w")

请记住()具有较高的运算符优先级,可以用于评估表达式,然后尝试将结果传递给open方法。