حساب مشتق ([ط] - [ط - 1]) في روبي
-
06-07-2019 - |
سؤال
وتافهة باستخدام لحلقة أو each_with_index، أتساءل فقط إذا كانت هناك طريقة أفضل للقيام بذلك باستخدام بناء الجملة روبي.
ولست بحاجة لخلق مجموعة جديدة هذا هو مشتق من مجموعة مصدر، على سبيل المثال:
for(int i = 1; i < oldArray.length; i++)
{
newArray[i] = oldArray[i] - oldArray[i-1]
}
المحلول
old_array.each_cons(2).map{|x, y| y - x}
وEnumerable#each_cons
دعا مع بحجم قطعة من 2 ولكن من دون كتلة إرجاع العداد الذي سوف تكرار عبر كل زوج من عناصر متتالية في old_array
. ثم نحن فقط استخدام map
لإجراء الطرح على كل زوج.
نصائح أخرى
last=0
new = old.map{|v|x=v-last;last=v;x}[1..-1]
لا تنتمي إلى StackOverflow