תבניות מחרוזת קוטלין

1. סקירה כללית

במדריך זה נסביר מה של קוטלין חוּט תבניות הן וכיצד להשתמש בהן.

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

2. מיתרים בקוטלין

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

קוטלין העשיר את ג'אווה חוּט כיתה עם פונקציונליות נוספת.

למשל, השיטה padEnd () מאפשר לנו לעצב א חוּט, כך שהביטוי:

"שלום" .padEnd (10, '!')

מה שמייצר מחרוזת חדשה "שלום!!!!!".

3. תבניות מחרוזת

תבניות מחרוזת הן חוּט מילוליות המכילות ביטויים משובצים.

לדוגמה, קוד זה ב- Java:

הודעת מחרוזת = "n =" + n;

בקוטלין הוא פשוט:

הודעת val = "n = $ n"

ניתן להשתמש בכל ביטוי חוקי של קוטלין ב- חוּט תבנית:

הודעת val = "n + 1 = $ {n + 1}"

בניגוד לג'אווה, מבנים רבים של קוטלין (אך בהחלט, לא כולם) הם ביטויים.

לכן, א חוּט תבנית עשויה להכיל גם היגיון:

val message = "$ n הוא $ {if (n> 0)" חיובי "אחר" לא חיובי "} 

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

חוּט תבניות נפתרות על ידי הערכת הביטוי והפעלת a toString () שיטה על תוצאת ההערכה.

חוּט ניתן לקנן תבניות:

val message = "$ n הוא $ {if (n> 0)" חיובי "אחר אם (n <0)" שלילי ו- $ {if (n% 2 == 0) "אפילו" אחר "מוזר"} "אחר" אֶפֶס"}"

ה חוּט מנתח תבניות מתחיל לפתור אותה מהתבנית המקוננת ביותר, מעריך אותה ומפעיל a toString () שיטה עליו.

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

מה אם נרצה להשתמש בסימן דולר גולמי ולא כחלק מ- a חוּט תבנית?

ואז אנו בורחים ממנו על ידי הצבת קו נטוי לפניו:

הודעת val = "n = \ $ n"

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

4. מיתרים גולמיים

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

כתוצאה מכך חוּט כלול בין שתי התרחשויות רצופות שאינן חופפות של שלטי ציטוטים כפולים .

לדוגמא, בג'אווה, על מנת ליצור כראוי a חוּט המכיל נתיב קבצים בסגנון Windows למשאב הנמצא ב C: \ מאגר \ read.me, עלינו להגדיר זאת בדרך זו:

נתיב מחרוזת = "C: \ מאגר \ read.me"

בקוטלין אנו עשויים להשתמש בסימון המשולש המשולש על מנת להשיג את אותה התוצאה:

val path = "" "C: \ Repository \ read.me" ""

אנו עשויים להשתמש בסימון זה על מנת ליצור רב-קו חוּט:

val קבלה = "" "פריט 1: $ 1.00 פריט 2: $ 0.50" ""

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

val קבלה = "" "פריט 1: $ 1.00> פריט 2: $ 0.50" "". trimMargin (">")

אנו משתמשים ב- trimMargin () שיטה שמבטלת רווחים לבנים בסופו של דבר מתחילת כל שורה ועד להופעה הראשונה של קידומת השוליים (> בדוגמה לעיל).

מחרוזות עם ציטוטים משולשים אינן תומכות בשום רצף בריחה. זה אומר שאם כתבנו

val קבלה = "" "פריט 1: $ 1.00 \ n פריט 2: $ 0.50" ""

על מנת לקבל שתי שורות חוּט, נקבל שורה אחת המכילה את הדמויות \ n במקום הפסקת הקו הצפויה.

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

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

val receipt = "" "פריט 1: $ 1.00 $ {" \ n "} פריט 2: $ 0.50" ""

5. מסקנה

במאמר זה שקלנו תכונה אחת בשפת קוטלין שנעדרת בג'אווה - חוּט תבניות. הדגמנו את השימוש בהם במקרה של רגיל ורב-קו מיתרים.

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


$config[zx-auto] not found$config[zx-overlay] not found