האם יש פקודה לבדיקת טיעום טקסטים?

Mr Boggy Man

New member
האם יש פקודה לבדיקת טיעום טקסטים?

כלומר...אם נגיד בטקסט a.txt כתוב bla ובטקסט b.txt כתוב גם bla אז זה יגיד $truth אבל אם כתוב בa.txt נגיד bla ובb.txt כתוב bla2 אז זה יביא $flase ?????
 

tomer70

New member
התכוונת תיאום...

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

Mr Boggy Man

New member
אמממממ....

כן תיאום...הראש שלי בעננים היום...בכל אופן אם מישהו יודע איך לעשות את אותה פקודה ידנית...
 

rodney

New member
שורה אחת או לא?

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

alias File.Compare { if ($file($1).size != $file($1).size) return if ($file($1).size > 0) { var %n = 1 :loop if (%n < $lines($1)) { var %t1 = $read($1,n,%n), %t2 = $read($2,n,%n) if (%t1 != %t2) return | inc %n | goto loop } } return 1 }​
מממ תבדוק אם זה עובד.. זה תוך דקה..
 

Mr Boggy Man

New member
אצמממ לא ידוע אם זה עובד...

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

zzzzzruvbavek

New member
למה לבדוק גודל?

ואם בקובץ הראשון כתוב 123 ובקובץ השני 456? לא יהיה אותו גודל? ודרך אגב, בתור הסקריפטר, הייתי מצפה ממך לדעת להשתמש ב while. קצת מייעל את הכל.
 

Mr Boggy Man

New member
למה אתה חושב שאני לא יודע להשתמש

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

zzzzzruvbavek

New member
בכלל דיברתי אליך?

לא שמת לב שדיברתי אל הסקריפטר? זה שאמרתי שמה "בתור הסקריפטר" לא הבהיר לך שאני מדבר אליו? שורה אחת של קוד לא כתבת כאן, ואני מתייחס כאן לקוד, מה גם שההודעה שלי הייתה בתגובה להודעה שלו ואת זה אפשר לראות די בבירור (או שמשום מה לא הבנת את המבנה של ההודעות כאן בתפוז ואז זה כבר יותר גרוע). עכשיו מה הקשר איזה טקסט אתה הולך לבדוק? בכל מקרה אתה לא תרצה להשוות גודל כי אז אתה כבר לא משווה טקסט. כל המטרה של להשוות טקסטים זה לראות אם רשום בהם אותו הדבר. לא אם יש בהם אותו מספר של אותיות או מספרים. עכשיו בקשר לסקריפט עצמו נעזוב לרגע את העובדה שלהשוות גודל של קובץ זה לא מה שמבוקש כאן
if ($file($1).size != $file($1).size) return​
זה לא דבר חכם להשוות גודל של קובץ לעצמו. דבר שני
if (%t1 != %t2) return | inc %n | goto loop​
מה שאתה עושה כאן זה בודק אם השורות שונות ואם הם שונות הסקריפט מסתיים אבל הלולאה ממשיכה? קצת מחשבה לא תזיק.
if ($file($1).size > 0) {​
ומה עם לבדוק את הקובץ השני? זה לא חשוב? על זה אפשר לוותר? וגם לא הבנתי לשמה שמת return 1 בסוף הסקריפט. הדבר הכי חשוב כשאתה כותב סקריפט זה שהסקריפט ימלא את מה שמבוקש ממנו אחרת מה השגת בזה? גם אם אתה כותב סקריפט "בדקה" כהגדרתך, עדיין חשוב להקפיד שהסקריפט יהיה יעיל, מובן, בנוי בצורה טובה, ופעיל (משום מה זה הקטע הכי חשוב בסקריפטים, שהם יפעלו, לך תבין). זה יפה שאתה מנסה לעזור לאנשים, אבל לפני שאתה עושה זאת אני ממליץ לך להסתכל קצת בקבצי עזרה של המירק - אולי תלמד משהו חדש. אתה לא עוזר לאף אחד כשאתה נותן לו סקריפט שברמה הכי בסיסית פשוט לא פועל. קצת השקעה, הקפדה ומחשבה אף פעם לא הזיקו לאף אחד.
 

Mr Boggy Man

New member
סליחה באמת!!!

חשבתי שדיברת אלי....אני כבר לא שם למי מדברים...נהפך לסנילי....זה הגיל
 
הבהרות

א. בעניין ההשוואה
if ($file($1).size != $file($1).size) return​
אז זה אמור להיות
if ($file($1).size != $file($2).size) return​
אבל אני מניח שבתור מתחיל אתה לא כל כך מבין.. ב. הוא ביקש לעשות משהו שבודק אם שני קבצים שווים, ולכן אם הגודל שונה אז כבר הם לא שווים, ולכן מספיק בלולאה לעבור רק על קובץ אחד.. זה יעבוד תמיד, וגם לא צריך לבדוק את הגודל של הקובץ השני ג. בעניין לולאת הWHILE אז אכן זה אפשרי אבל זה מתוך הרגל של תכנות עוד לפני שהלולאה קיימת ד. בשביל שהוא יוכל להשתמש בתוך תנאים ושזה יחזיר תוצאה אז אם זה מחזיר אחד אז זה שווה ערך למשתנה $TRUE.. ואם לא אז זה כאילו שהוא מחזיר $FALSE ובתאכלס לפני שאתה מעיר תבדוק אם הקוד נכון או לא.. אם אתה לא מבין אז עדיף שתשתוק ולא תגלה לכולם את בורותך
 

zzzzzruvbavek

New member
כןןןןןןןןןןן

שאני יתחיל? א. בתור מתחיל אני לא מבין? זה נראה די ברור שזה אמור להיות השוואה בין הקובץ הראשון לשני. זה היה טעות שלך והערתי לך על זה. ב. הוא ביקש לעשות משהו שבודק אם שני טקסטים זהים, לא אם שני קבצים שווים. תסכים איתי ששני טקסטים הם זהים גם אם באחד מהם יש שורה ריקה בסופו ובשני אין? כי במצב כזה גודלם הוא שונה. ג. לולאת while זה אפשרי ורצוי ואני מבקש ממך לא לקרוא לזה הרגל של תכנות אלא הרגל של סקריפטינג. בן אדם שיש לו הרגל של תיכנות לכתוב קוד עם לולאת Goto צריך לשקול ללמוד תכנות מחדש. לולאת ה Goto שלך דרך אגב כלל לא פועל כי שכחת שם את ה Else ועשית שאם השורות שונות הפונקציה חוזרת אבל הלולאה ממשיכה. ד. כמו שאמרתי הקוד לא מובן ולא פעיל. בדקתי אם הקוד נכון או לא לפני שהערתי. הלולאה שבנית פשוט לא עובדת. תאמין לי שאני מבין, אם זה אפשרי אפילו קצת יותר ממך, ואני לא פוחד לגלות לאף אחד את "בורותי".
 
תגובה אחרונה

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

zzzzzruvbavek

New member
סתם לידע כללי נוסף

הקוד לא עובד ולא יכול לעבוד כשהלולאה לא עובדת. ואם כבר מדברים על כאלה שחושבים שהם מבינים.....טוב אני בטוח שאתה מבין....
 
למעלה