כיצד לפתור שגיאת רובי "משתנה מקומי בלתי מוגדר"

click fraud protection

בתוך רובי, אינך צריך להכריז על משתנים, אך אתה צריך להקצות להם משהו לפני שאפשר יהיה להפנות אליהם.

אם אתה מתייחס ל משתנה מקומי שעדיין לא קיים, ייתכן שתראה אחת משתי שגיאות.

הודעות Ruby NameError

NameError: משתנה מקומי או שיטה 'a' לא מוגדר עבור # 
NameError: לא מוגדר משתנה מקומי או שיטה 'a' עבור main: Object

הערה: יתכנו מזהים שונים במקום 'א' למעלה.

זו דוגמה בה הקוד יפיק את הודעת האודם "NameError" מאז המשתנה א טרם הוקצה לשום דבר:

מכניס א

כיצד לתקן את השגיאה

יש להקצות משתנים לפני שניתן יהיה להשתמש בהם. אז השימוש בדוגמה מלמעלה, תיקון השגיאה הוא פשוט כמו ביצוע פעולה זו:

a = 10. מכניס א. 

מדוע אתה שגיאה זו

התשובה הברורה היא שאתה מתייחס למשתנה שטרם נוצר. לרוב זה נובע מהקלדת הקלדה, אך הדבר עשוי להתרחש בעת ביצוע מחדש של קוד ושינוי שם למשתנים.

אתה עשוי לראות גם את שגיאת האודם "NameError: undefined משתנה מקומי" אם התכוונת להזין מחרוזת. מיתרים מובנים כאשר הם קיימים בין ציטוטים. אם לא השתמשת בציטוטים, רובי יחשוב שהתכוונת להתייחס לשיטה או משתנה (שאינם קיימים) ולזרוק את השגיאה.

לכן, התבונן אחורה בקוד שלך כדי לראות לאילו משתנה זה אמור להתייחס, ותקן אותו. יתכן שתרצה לחפש מופעים אחרים באותו שם משתנה באותה שיטה - אם זה לא בסדר במקום אחד, יתכן שהוא טועה באחרים.

instagram viewer

instagram story viewer