الفرق بين المراجعتين ل"Ruby/IO/pos-3D"

من موسوعة حسوب
< Ruby‏ | IO
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.pos=‎</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method [[تصنيف: Ruby IO]...')
 
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby IO]]
 
[[تصنيف: Ruby IO]]
يسعى التابع <code>pos=</code> إلى التموضع عند الإزاحة المحددة (بالبايت) في [[Ruby/IO|مجرى د/خ]] <code>ios</code>. ليس مضمونا أن يكون التموضع صحيحًا عندما يكون [[Ruby/IO|مجرى د/خ]] <code>ios</code> في الوضع النصي (textmode).
+
يحرِّك التابع <code>pos</code> عند استدعائه بالشكل <code>pos = integer</code> موضع المؤشر الحالي إلى الموضع integer (بالبايت) [[Ruby/IO|للمجرى]] الذي استدعي معه.  
 +
 
 +
تحريك المؤشر إلى موضع ما قد لا يكون صحيحًا عندما يكون [[Ruby/IO|المجرى]] في الوضع النصي (textmode).
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">pos = integer → integer‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">pos = integer → integer‎</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
 +
يعاد العدد الصحيح <code>integer</code> بعد تحريك مؤشر المجرى المعطى بمقداره (بالبايت).
 +
 
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>pos=‎</code>:
 
مثال على استخدام التابع <code>pos=‎</code>:
سطر 12: سطر 16:
 
f.pos = 17
 
f.pos = 17
 
f.gets  #=> "This is line two\n"‎</syntaxhighlight>
 
f.gets  #=> "This is line two\n"‎</syntaxhighlight>
==انظر أيضا==
+
==انظر أيضًا==
* التابع <code>[[Ruby/IO/pos|pos]]</code>: يُعيد الإزاحة (offset) الحالية (بالبايت) في [[Ruby/IO|مجرى د/خ]] <code>ios</code>.
+
* التابع <code>[[Ruby/IO/pos|pos]]</code>: يُعيد موضع المؤشر الحالي بدءًا من بداية الملف (بالبايت) [[Ruby/IO|للمجرى]] الذي استدعي معه.
* التابع <code>[[Ruby/IO/pread|pread]]</code>: يقرأ  <code>maxlen</code> (انظر فقرة البنية العامة) بايت من [[Ruby/IO|مجرى د/خ]] <code>ios</code> باستخدام استدعاء النظام pread، ثم يُعيدها ك[[Ruby/String|سلسلة نصية]] من غير تعديل إزاحة (offset) الواصف الأساسي. هذا مفيد مقارنة بالجمع بين <code>[[Ruby/IO/seek|#seek]]</code> و <code>[[Ruby/IO/read|#read]]</code> في كونه ذريًا (atomic)، مما يسمح لعدة [[Ruby/Thread|مهام فرعية]]/عمليات بالتشارك في نفس [[Ruby/IO|مجرى د/خ]] <code>[[Ruby/IO|IO]]</code> لقراءة الملف في مواضع مختلفة. هذا سيتجاوز أي مساحة تخزين مؤقت للمستخدمين من طبقة [[Ruby/IO|مجرى د/خ]] <code>[[Ruby/IO|IO]]</code>. في حال إعطاء الوسيط الاختياري <code>outbuf</code> (انظر فقرة البنية العامة)، فينبغي أن يشير إلى [[Ruby/String|سلسلة نصية]] <code>[[Ruby/String|String]]</code>، والتي ستتلقى البيانات. سيُطلق استثناء <code>SystemCallError</code> عند الخطأ، أو <code>EOFError</code> عند نهاية الملف، أو <code>NotImplementedError</code> إن لم يكن نظام التشغيل يدعم استدعاء النظام.
+
* التابع [[Ruby/IO/rewind|<code>rewind</code>]]: يعيد مؤشر [[Ruby/IO|المجرى]] الذي استُدعي معه إلى موضع بداية الإدخال.
 +
* التابع [[Ruby/IO/seek|<code>seek</code>]]: يحرِّك مؤشر [[Ruby/IO|المجرى]] الذي استدعي معه إلى موضع محدَّد.
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-pos-3D قسم التابع pos=‎ في الصنف IO‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-pos-3D قسم التابع pos=‎ في الصنف IO‎ في توثيق روبي الرسمي.]

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

يحرِّك التابع pos عند استدعائه بالشكل pos = integer موضع المؤشر الحالي إلى الموضع integer (بالبايت) للمجرى الذي استدعي معه.

تحريك المؤشر إلى موضع ما قد لا يكون صحيحًا عندما يكون المجرى في الوضع النصي (textmode).

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

pos = integer  integer

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

يعاد العدد الصحيح integer بعد تحريك مؤشر المجرى المعطى بمقداره (بالبايت).

أمثلة

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

f = File.new("testfile")
f.pos = 17
f.gets   #=> "This is line two\n"‎

انظر أيضًا

  • التابع pos: يُعيد موضع المؤشر الحالي بدءًا من بداية الملف (بالبايت) للمجرى الذي استدعي معه.
  • التابع rewind: يعيد مؤشر المجرى الذي استُدعي معه إلى موضع بداية الإدخال.
  • التابع seek: يحرِّك مؤشر المجرى الذي استدعي معه إلى موضع محدَّد.

مصادر