Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ruby';s命令行-F选项,如何使用?_Ruby - Fatal编程技术网

ruby';s命令行-F选项,如何使用?

ruby';s命令行-F选项,如何使用?,ruby,Ruby,我想使用ruby的-F选项定义一个字段分隔符(例如tab)。我尝试过各种表达式,如-F:\t和-F='\t'等,但似乎无法获得正确的语法。有人知道正确的语法吗?你能给我看看吗?提前感谢。考虑一个ruby文件(称为test.rb),其中包含以下行。三个数字后会出现一个选项卡,其他所有内容都是空格或字母: puts "123 456 789 some words split by spaces".split 使用默认参数运行时: ruby test.rb 您将获得以下

我想使用ruby的-F选项定义一个字段分隔符(例如tab)。我尝试过各种表达式,如-F:\t和-F='\t'等,但似乎无法获得正确的语法。有人知道正确的语法吗?你能给我看看吗?提前感谢。

考虑一个ruby文件(称为test.rb),其中包含以下行。三个数字后会出现一个选项卡,其他所有内容都是空格或字母:

puts "123       456     789     some words split by spaces".split
使用默认参数运行时:

ruby test.rb
您将获得以下输出:

123

456

789

some

words

split

by

spaces
123

456

789

some words split by spaces
如果希望输入分隔符仅为\t,则应设置由“”包围的-F选项。例如:

ruby -F"\t" test.rb
生成以下输出:

123

456

789

some

words

split

by

spaces
123

456

789

some words split by spaces
关键是将-F选项值放在双引号中