الفرق بين المراجعتين لصفحة: «Ruby/InstructionSequence/of»
< Ruby | InstructionSequence
أنشأ الصفحة ب'<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| | أو باستخدام <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 lang="ruby">of(p1)</syntaxhighlight> | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يُعيد التابع <code>of</code> [[Ruby/InstructionSequence|سلسلة التعليمات]] التي تحتوي كائن <code>proc</code> أو <code>method</code> المعطى. | |||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/InstructionSequence/new|new]]</code>: | * التابع <code>[[Ruby/InstructionSequence/new|new]]</code>: ينشئ كائنا من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</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
المعطى.
انظر أيضا
- التابع
new
: ينشئ كائنا من النوعInstructionSequence
.