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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>of‎</code> الخاص بالصنف <code>InstructionSequence</code> في روبي}}</noinclude> تصنيف: Ruby [...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby InstructionSequence]]
[[تصنيف: Ruby InstructionSequence]]
يُعيد التابع <code>of</code> [[Ruby/InstructionSequence|سلسلة التعليمات]] التي تحتوي كائن proc أو method المعطى.
يُعيد التابع <code>of</code> [[Ruby/InstructionSequence|سلسلة التعليمات]] التي تحتوي كائن <code>proc</code> أو <code>method</code> المعطى.
على سبيل المثال، باستخدام irb:
 
على سبيل المثال، باستخدام <code>irb</code>:
<syntaxhighlight lang="ruby"># a proc
<syntaxhighlight lang="ruby"># a proc
> p = proc { num = 1 + 2 }
> p = proc { num = 1 + 2 }
سطر 13: سطر 14:
> RubyVM::InstructionSequence.of(method(:foo))
> RubyVM::InstructionSequence.of(method(:foo))
> #=> <RubyVM::InstructionSequence:foo@(irb)>‎</syntaxhighlight>
> #=> <RubyVM::InstructionSequence:foo@(irb)>‎</syntaxhighlight>
أو باستخدام <code>[[Ruby/InstructionSequence/compile_file|::compile_file]]</code>:
أو باستخدام <code>[[Ruby/InstructionSequence/compile_file|compile_file]]</code>:
<syntaxhighlight lang="ruby"># /tmp/iseq_of.rb
<syntaxhighlight lang="ruby"># /tmp/iseq_of.rb
def hello
def hello
سطر 28: سطر 29:
> #=> #<RubyVM::InstructionSequence:0x007fb73d7caf78>‎</syntaxhighlight>
> #=> #<RubyVM::InstructionSequence:0x007fb73d7caf78>‎</syntaxhighlight>
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby"></syntaxhighlight>
<syntaxhighlight lang="ruby">of(p1)</syntaxhighlight>
==القيمة المُعادة==
==القيمة المُعادة==
يُعيد التابع <code>of</code> [[Ruby/InstructionSequence|سلسلة التعليمات]] التي تحتوي كائن <code>proc</code> أو <code>method</code> المعطى.


==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/InstructionSequence/new|new]]</code>: يأخذ  وسيطًا <code>source</code> ، وهو سسس (<code>[[Ruby/String|String]]</code>) تحتوي أكواد برمجية بلغة روبي، ويُصرّفها (compiles it) إلى كائن من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</code>.
* التابع <code>[[Ruby/InstructionSequence/new|new]]</code>: ينشئ كائنا من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</code>.
* التابع <code>[[Ruby/InstructionSequence/absolute_path|absolute_path]]</code>: يُعيد  المسار المطلق لككك (ووو).


==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/RubyVM/InstructionSequence.html#method-c-of قسم  التابع of‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/RubyVM/InstructionSequence.html#method-c-of قسم  التابع of‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.]

مراجعة 22:05، 1 نوفمبر 2018

يُعيد التابع of سلسلة التعليمات التي تحتوي كائن proc أو method المعطى.

على سبيل المثال، باستخدام irb:

# a proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> #=> <RubyVM::InstructionSequence:block in irb_binding@(irb)>
# for a method
> def foo(bar); puts bar; end
> RubyVM::InstructionSequence.of(method(:foo))
> #=> <RubyVM::InstructionSequence:foo@(irb)>‎

أو باستخدام compile_file:

# /tmp/iseq_of.rb
def hello
  puts "hello, world"
end
$a_global_proc = proc { str = 'a' + 'b' }
# in irb
> require '/tmp/iseq_of.rb'
# first the method hello
> RubyVM::InstructionSequence.of(method(:hello))
> #=> #<RubyVM::InstructionSequence:0x007fb73d7cb1d0>
# then the global proc
> RubyVM::InstructionSequence.of($a_global_proc)
> #=> #<RubyVM::InstructionSequence:0x007fb73d7caf78>‎

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

of(p1)

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

يُعيد التابع of سلسلة التعليمات التي تحتوي كائن proc أو method المعطى.

انظر أيضا

مصادر