الفرق بين المراجعتين ل"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 عند القيمة صفر.

مصادر