التابع IO.seek‎ في روبي

من موسوعة حسوب
< Ruby‏ | IO

يحرِّك التابع seek مؤشر المجرى الذي استدعي معه إلى موضع محدَّد.

البنية العامة

seek(amount, whence=IO::SEEK_SET)   0

المعاملات

amount‎

عدد صحيح يحدِّد مقدار إزاحة المؤشر بدءًا من بداية الملف (القيمة الافتراضية للمعامل whence‎) أو من نهاية الملف أو من الموضع الحالي للموشر نفسه بحسب قيمة المعامل whence‎.

whence‎

راية تحدد الموضع الذي سيزاح المؤشر بدءًا منه بالمقدار amount. القيم التي يمكن استعمالها مع هذا المعامل موضحة بالجدول التالي:

المعامل whence شرح
:CUR أو IO::SEEK_CUR يحرَّك المؤشر بمقدار amount + موضع المؤشرالحالي (أي يزاح المؤشر بدءًا من موضعه الحالي).
‎:END أو IO::SEEK_END
يُحرَّك المؤشر بمقدار amount + نهاية المجرى (ستحتاج على الأرجح لإعطاء amount قيمة سالبة لأن المؤشر سيزاح بدءًا من نهاية المجرى).
:SET أو IO::SEEK_SET يُحرَّك المؤشر بمقدار amount بدءًا من بداية المجرى.

القيمة المعادة

تعاد القيمة صفر بعد تنفيذ العملية.

أمثلة

مثال على استخدام التابع seek‎:

f = File.new("testfile")
f.seek(-13, IO::SEEK_END)   #=> 0
f.readline                  #=> "And so on...\n"‎

انظر أيضًا

  • التابع pos=‎: يحرِّك عند استدعائه بالشكل pos = integer موضع المؤشر الحالي إلى الموضع integer (بالبايت) للمجرى الذي استدعي معه. 
  • التابع rewind: يُموضِع مجرى د/خ الذي استُدعي معه عند بداية الإدخال، مع تعيين lineno عند القيمة صفر.

مصادر