الفرق بين المراجعتين لصفحة: «Ruby/IO/seek»

من موسوعة حسوب
< Ruby‏ | IO
لا ملخص تعديل
ط تدقيق
 
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby IO]]
[[تصنيف: Ruby IO]]
يسعى التابع <code>seek</code> إلى التموضع عند الإزاحة المعطاة في [[Ruby/IO|مجرى د/خ]] وفقا لقيمة <code>whence</code> (انظر فقرة البنية العامة):
يحرِّك التابع <code>seek</code> مؤشر [[Ruby/IO|المجرى]] الذي استدعي معه إلى موضع محدَّد.
 
== البنية العامة ==
<syntaxhighlight lang="ruby">seek(amount, whence=IO::SEEK_SET)  → 0‎</syntaxhighlight>
==المعاملات==
===<code>amount‎</code>===
عدد صحيح يحدِّد مقدار إزاحة المؤشر بدءًا من بداية الملف (القيمة الافتراضية للمعامل <code>whence‎</code>) أو من نهاية الملف أو من الموضع الحالي للموشر نفسه بحسب قيمة المعامل <code>whence‎</code>.
 
===<code>whence‎</code>===
راية تحدد الموضع الذي سيزاح المؤشر بدءًا منه بالمقدار <code>amount</code>. القيم التي يمكن استعمالها مع هذا المعامل موضحة بالجدول التالي:
{| class="wikitable"
{| class="wikitable"
!قيمة الوسيط ''<code>whence</code>''
!المعامل <code>whence</code>
!شرح
!شرح
|-
|-
|‎<code>:CUR</code> أو <code>IO::SEEK_CUR</code>
|‎<code>:CUR</code> أو <code>IO::SEEK_CUR</code>
|يسعى إلى موضع الإزاحة الذي يساوي <code>amount</code> + موضع الإزاحة الحالي.
|يحرَّك المؤشر بمقدار <code>amount</code> + موضع المؤشرالحالي (أي يزاح المؤشر بدءًا من موضعه الحالي).
|-
|-
|
|
====== ‎:END أو  <code>IO::SEEK_END</code> ======
====== ‎:END أو  <code>IO::SEEK_END</code> ======
|يسعى إلى موضع الإزاحة الذي يساوي <code>amount</code> + نهاية المجرى (ستحتاج على الأرجح لإعطاء <code>amount</code> قيمة سالبة).
|يُحرَّك المؤشر بمقدار <code>amount</code> + نهاية المجرى (ستحتاج على الأرجح لإعطاء <code>amount</code> قيمة سالبة لأن المؤشر سيزاح بدءًا من نهاية المجرى).
|-
|-
|‎<code>:SET</code> أو <code>IO::SEEK_SET</code>
|‎<code>:SET</code> أو <code>IO::SEEK_SET</code>
|يسعى إلى موضع الإزاحة الموجود عند الموضع <code>amount</code>
|يُحرَّك المؤشر بمقدار <code>amount</code> بدءًا من بداية المجرى.
|}
|}


==البنية العامة==
==القيمة المعادة==
<syntaxhighlight lang="ruby">seek(amount, whence=IO::SEEK_SET)  → 0‎</syntaxhighlight>
تعاد القيمة صفر بعد تنفيذ العملية.
==المعاملات==
===<code>amount‎</code>===
عدد صحيح.
 
===<code>whence‎</code>===
راية.
 
==القيمة المُعادة==
يعيد التابع <code>seek</code> القيمة صفر.


==أمثلة==
==أمثلة==
سطر 35: سطر 35:
f.seek(-13, IO::SEEK_END)  #=> 0
f.seek(-13, IO::SEEK_END)  #=> 0
f.readline                  #=> "And so on...\n"‎</syntaxhighlight>
f.readline                  #=> "And so on...\n"‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضًا==
*التابع [[Ruby/IO/pos-3D|<code>pos=‎</code>]]: يحرِّك عند استدعائه بالشكل <code>pos = integer</code> موضع المؤشر الحالي إلى الموضع <code>integer</code> (بالبايت) [[Ruby/IO|للمجرى]] الذي استدعي معه. 
 
*التابع <code>[[Ruby/IO/rewind|rewind]]</code>: يُموضِع  [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه عند بداية الإدخال، مع تعيين <code>[[Ruby/IO/lineno|lineno]]</code> عند القيمة صفر.
*التابع <code>[[Ruby/IO/rewind|rewind]]</code>: يُموضِع  [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه عند بداية الإدخال، مع تعيين <code>[[Ruby/IO/lineno|lineno]]</code> عند القيمة صفر.
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-seek قسم التابع seek‎ في الصنف IO‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-seek قسم التابع seek‎ في الصنف IO‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 09:18، 23 ديسمبر 2018

يحرِّك التابع 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 عند القيمة صفر.

مصادر