الفرق بين المراجعتين ل"Ruby/StopIteration"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'يُطلق الاستثناء <code>SecurityError</code> عند محاولة تنفيذ عملية قد تكون غير آمنة، عادة عندما يُرفع مست...')
 
ط (مراجعة وتدقيق.)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
يُطلق الاستثناء <code>SecurityError</code> عند محاولة تنفيذ عملية قد تكون غير آمنة، عادة عندما يُرفع مستوى  ‎<code>$SAFE</code>  فوق <code>0</code><syntaxhighlight lang="ruby">
+
يُطلق الاستثناء <code>SecurityError</code> لوقف عملية التكرار (iteration)، خصوصًا عبر التابع <code>[[Ruby/Enumerator/next|Enumerator.next]]</code>.
foo = "bar"
+
 
proc = Proc.new do
+
يُعالج هذا الاستثناء بالتابع <code>[[Ruby/Kernel/loop|Kernel.loop]]</code>.<syntaxhighlight lang="ruby">
   $SAFE = 3
+
loop do
   foo.untaint
+
  puts "Hello"
 +
   raise StopIteration
 +
   puts "World"
 
end
 
end
proc.call
+
puts "Done!"
</syntaxhighlight>ستطلق الاستثناء:<syntaxhighlight lang="ruby">
+
</syntaxhighlight>سيُنتج:<syntaxhighlight lang="text">
SecurityError: Insecure: Insecure operation `untaint' at level 3
+
Hello
 +
Done!
 +
</syntaxhighlight>
 +
 
 +
== توابع النسخة العامة ==
  
</syntaxhighlight>{{DISPLAYTITLE: صفحة الاستثناء <code>StopIteration</code> في روبي}}</noinclude>
+
=== [[Ruby/StopIteration/result|<code>result</code>]] ===
 +
يعيد القيمة المعادة من المُكرر (iterator).
 +
{{DISPLAYTITLE:الصنف <code>StopIteration</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
[[تصنيف: Ruby StopIteration]]
+
[[تصنيف: Ruby Class]]
 +
[[تصنيف: Ruby Error]]
  
 
== مصادر ==
 
== مصادر ==
*[http://ruby-doc.org/core-2.5.1/SecurityError.html قسم  الاستثناء StopIteration في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/StopIteration.html صفحة الصنف StopIteration في توثيق روبي الرسمي.]

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

يُطلق الاستثناء SecurityError لوقف عملية التكرار (iteration)، خصوصًا عبر التابع Enumerator.next.

يُعالج هذا الاستثناء بالتابع Kernel.loop.

loop do
  puts "Hello"
  raise StopIteration
  puts "World"
end
puts "Done!"

سيُنتج:

Hello
Done!

توابع النسخة العامة

result

يعيد القيمة المعادة من المُكرر (iterator).

مصادر