如何使用ruby中的File.Open打开存储在变量中的文件?

Aka*_*hal 2 ruby console file

我想打开文件并读取我从控制台传递的文件.喜欢

filename = gets()
File.open(filename,'r') do |file|
Run Code Online (Sandbox Code Playgroud)

但在控制台上收到错误如下:

test.rb:7:in `initialize': Invalid argument - myfile (Errno::EINVAL)
        from test.rb:7:in `open'
        from test.rb:7
Run Code Online (Sandbox Code Playgroud)

是否可以读取从控制台获取文件名并do |file| ..end在ruby中执行的文件?

Ser*_*sev 5

您从STDIN读取的字符串有一个尾随\n.摆脱它.

filename = gets().chomp
Run Code Online (Sandbox Code Playgroud)