2010-03-13 93 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的值相同,但可以重新賦值其他值。