PHP'nin fopen () yöntemi Ruby eşdeğer

2 Cevap php

Ben (Ruby PHP'nin Fopen eşdeğeri tr olup olmadığını öğrenmek için çalışıyorum) şu anda bu gibi kullanılır yöntemi:

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

Bu ARGV değişkeni kullanarak olurdu?

Temelde ne yapıyor planı ileriye Ben zaten bir test php dosyasında çalışan var. Procmailrc dosyasını kullanarak ham e-posta mesajları, ancak proje Ruby kullanımını gerektirir. Bu nedenle her nasılsa bazı başka yollarla e-posta akışı yakalamak için gerekirse ARGV değişken çalışmak istiyorsunuz ya kullanıyorsanız eğer% 100 emin değilim.

Herhangi bir yardım büyük mutluluk duyacağız. Teşekkürler :)

2 Cevap

ARGV ve (standart) giriş akışı iki farklı şeylerdir. ARGV someapp a b c a, b ve parametreler gibi bir yürütülebilir geçirilen parametreleri içerir. stdin bir dosya tanıtıcısı olduğunu. Genellikle üç standard streams var. olduğu stdin hangi salt okunur, stdout ve stderr yazma sadece.

Ruby varsayılan akışları erişmek için önceden tanımlanmış sabitleri STDIN, STDOUT ve STDERR kullanabilirsiniz. STDIN'den, STDOOUT ve sterr gibi aynı değerlerle başlatıldı ancak diğer değerleri yeniden atanabilir $ stdin, stdout $, $ stderr değişkenler de vardır.

Muhtemelen argF değişkene atıfta bulunduğunu, bir göz atın:

http://stackoverflow.com/questions/273262/best-practices-with-stdin-in-ruby/273841#273841