الفرق بين المراجعتين لصفحة: «Ruby/IO/seek»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق |
||
| سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يحرِّك التابع <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>:CUR</code> أو <code>IO::SEEK_CUR</code> | |<code>:CUR</code> أو <code>IO::SEEK_CUR</code> | ||
| | |يحرَّك المؤشر بمقدار <code>amount</code> + موضع المؤشرالحالي (أي يزاح المؤشر بدءًا من موضعه الحالي). | ||
|- | |- | ||
| | | | ||
====== :END أو <code>IO::SEEK_END</code> ====== | ====== :END أو <code>IO::SEEK_END</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> بدءًا من بداية المجرى. | ||
|} | |} | ||
==القيمة المعادة== | |||
تعاد القيمة صفر بعد تنفيذ العملية. | |||
==القيمة | |||
==أمثلة== | ==أمثلة== | ||
| سطر 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 قسم | *[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 أو
|
يُحرَّك المؤشر بمقدار 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(بالبايت) للمجرى الذي استدعي معه.