لماذا تشكو الكسوف يشكو من رائحة "الحسد" في الرمز الخاص بي؟ [مغلق
-
19-09-2019 - |
سؤال
الكسوف (إعادة النشر) يشكو من "ميزة الحسد"في التعليمات البرمجية التالية:
if input_text =~ /^(---\s*\n.*?\n?)(---.*?)/m
content_text = input_text[($1.size + $2.size)..-1] # warning in $1
header = YAML.load($1)
@content = content_text.strip()
@title = header["title"]
end
فهمي هو أنني آمن لتجاهل هذا التحذير. لكنني أتجول في سبب إنشاء هذا التحذير. لا أستطيع أن أفهم كيف يمكنني استخراج الأسلوب ل $1.size
و $1
.
المحلول
يخبرك Reek بذلك، لأنك تضيف فندقين من نفس الفصل، يجب أن ينتمي الحساب في الواقع String
. وبعد عند إضافة أطوال السلسلة هذا هراء بالطبع، ولكن في حالتك الرمز يمكن يتم تبسيطها باستخدام $&
(سلسلة كاملة المتطابقة):
input_text[$&.size..-1]
لا تنتمي إلى StackOverflow