الصنف ARGF في روبي
الصنف ARGF
هو مجرى (stream
) صُمِّم ليُستخدَم في الملفات البرمجية (scritps
) التي تُعالج الملفات المُمرَّرة إليها على شكل وسائط في سطر الأوامر (command
-line
arguments
)، أو المُمرَّرة عبر مجرى الدخل القياسي (STDIN
).
تُخزَّن الوسائط المُمرَّرة للملف البرمجي في المصفوفة ARGV
، إذ يخزَّن وسيط واحد في كل عنصر. تفترض ARGF
أنّ الوسائط التي ليست أسماء ملفات (filenames
) قد أزيلت من ARGV
. انظر الشيفرة التالية مثلًا:
$ ruby
argf
.rb
--verbose
file
1 file
2
ARGV
#=> ["--"
", "verbose"
1", ""file
2"]
"
= "file
."
#=> "--option
"
ARGV
#=> ["shift
1", ""
2"]
يمكنك الآن استخدام verbose"
للعمل مع سلسلة من كل هذه الملفات المسماة (ARGV
"file
). على سبيل المثال، ستعيد العبارة "
."file
محتويات الملف "
1 متبوعةً بمحتويات الملف ARGF
2.
بعد قراءة أحد الملفات الموجودة في named
، تزيل files
هذا الملف من المصفوفة. بناءً على ذلك، ستصبح ARGF
فارغةً بعد قراءة جميع الملفات.
يمكنك تعديل read
بنفسك للتحكم في عملها. إن أزلت مثلًا ملفًا من file
، فستتجاهله file
؛ وإذا أضفت ملفات إلى ARGV
، فستُعامل كما لو أنها مُرِّرت في سطر الأوامر. تفحَّص مثلًا الشيفرة التالية:
إن كانت ARGF
فارغةً، فستتصرّف وكأنّها تحتوي مجرى الدخل القياسي (ARGV
)، أي البيانات المُرسلة عبر أنبوب (ARGV
) إلى ملفك البرمجي (ARGV
). إليك مثلًا هذا المثال البسيط:
التوابع العامة (ARGF
ARGV
ARGV
)
مصادر
- صفحة الصنف ARGF في توثيق روبي الرسمي.