2010-03-13 89 views
1

我试图找出是否Ruby有英文PHP的FOPEN的当量()方法中目前使用的是这样的:红宝石相当于PHP的fopen()函数方法

$fd = fopen("php://stdin", "r"); 

将是使用argv变量?

基本上我打算做的是使用我已经在测试php文件中工作的.procmailrc文件转发原始电子邮件,但该项目需要使用Ruby。因此,我不能100%确定使用ARGV变量是否可行,或者我需要通过其他方式捕获电子邮件流。

任何帮助将不胜感激。谢谢:)

回答

2

ARGV和(标准)输入流是两个不同的东西。 ARGV包含传递给可执行文件的参数,如someapp a b c,其中a,b和是参数。 stdin是一个文件句柄。你通常有三个standard streams。 stdin是只读的,stdout和stderr是只写的。

在Ruby中,您可以使用预定义的常量,STDOUT和STDERR来访问默认流。还有变量$ stdin,$ stdout,$ stderr,它们的初始值与STDIN,STDOOUT和STERR的值相同,但可以重新赋值其他值。