extension Character {
enum Kind {
case Vowel, Consonant, Other
}
var kind: Kind {
switch String(self).lowercaseString {
case "a", "e", "i", "o", "u":
return .Vowel
case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m",
"n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":
return .Consonant
default:
return .Other
}
This example
This example adds a new nested enumeration to Character. This enumeration, called Kind, expresses the kind of letter that a particular character represents. Specifically, it expresses whether the character is a vowel or a consonant in a standard Latin script (without taking into account accents or regional variations), or whether it is another kind of character. This example also adds a new computed instance property to Character, called kind, which returns the appropriate Kind enumeration member for that character. The nested enumeration can now be used with Character values:
func printLetterKinds(word: String) {
println("'(word)' is made up of the following kinds of letters:")
for character in word {
switch character.kind {
case .Vowel:
print("vowel ")
case .Consonant:
print("consonant ")
case .Other:
print("other ")
}
print("
")
tLetterKinds("Hello")
Hello' is made up of the following kinds of letters:
consonant vowel consonant consonant vowel
This function, printLetterKinds, takes an input String value and iterates over its characters. For each character, it considers the kind computed property for that character, and prints an appropriate description of that kind. The printLetterKinds function can then be called to print the kinds of letters in an entire word, as shown here for the word "Hello".
NOTE character.kind is already known to be of type Character.Kind. Because of this, all of the Character.Kind member values can be written in shorthand form inside the switch statement, such as .Vowel rather than Character.Kind.Vowel.
นามสกุล{อักขระ enum {ประเภท กรณีสระ พยัญชนะ อื่น ๆ } var ชนิด: {ประเภท สลับสาย (ตนเอง) {.lowercaseString กรณี "a", "e" "เรา" "o", "u": กลับ สระ กรณี "b", "c", "d", "f", "g", "h" "เจ" "k", "l", "m""n", "p" "คิว" "r", "s", "t", "v", "w", "x", "y", "z": กลับ พยัญชนะเริ่มต้น: กลับ อื่น ๆ }ตัวอย่างนี้ ตัวอย่างนี้เพิ่มการแจงนับซ้อนใหม่ลงอักขระ การแจงนับนี้ เรียกว่าชนิด แสดงชนิดของตัวอักษรที่ใช้แสดงแทนอักขระหนึ่ง ๆ โดยเฉพาะ ก็แสดงว่าตัวละครเป็นสระหรือพยัญชนะในสคริปต์ละตินพิมพ์ใหญ่มาตรฐาน (โดยไม่พิจารณาบัญชีเน้นหรือรูปแบบภูมิภาค), หรือไม่ว่าจะเป็นอักขระชนิดอื่น ตัวอย่างนี้ยังเพิ่มคุณสมบัติใหม่ที่มีการคำนวณอย่างลงอักขระ ชนิด ซึ่งส่งกลับสมาชิกแจงนับชนิดที่เหมาะสมสำหรับอักขระที่ เรียกว่า การแจงนับซ้อนกันสามารถใช้ได้กับอักขระค่าตอนนี้:func printLetterKinds(word: String) { println("'(word)' ขึ้นเป็นชนิดของตัวอักษรต่อไปนี้: ") สำหรับอักขระในคำ{ สลับ character.kind { กรณี สระ: พิมพ์ ("สระ") กรณี พยัญชนะ: พิมพ์ ("พยัญชนะ") กรณี อื่น ๆ: พิมพ์ ("อื่นๆ") }print("
")tLetterKinds("Hello")สวัสดี ' ของชนิดของตัวอักษรต่อไปนี้:สระพยัญชนะพยัญชนะพยัญชนะสระฟังก์ชันนี้ printLetterKinds ใช้ค่าสตริงที่ป้อนข้อมูล และคำนวณซ้ำช่วงของอักขระ สำหรับแต่ละอักขระ มันพิจารณาคุณสมบัติจากการคำนวณประเภทสำหรับอักขระ และพิมพ์คำอธิบายที่เหมาะสมของชนิดนั้น การ printLetterKinds ฟังก์ชันแล้วสามารถเรียกพิมพ์ชนิดของตัวอักษรในคำทั้งหมด แสดงที่นี่สำหรับคำว่า "สวัสดี"หมายเหตุ character.kind แล้วรู้จักเป็นชนิด Character.Kind ด้วยเหตุนี้ ทั้งหมดของค่าสมาชิก Character.Kind สามารถเขียนย่อแบบฟอร์มภายในสั่ง switch เช่นกัน สระมากกว่า Character.Kind.Vowel
การแปล กรุณารอสักครู่..
ขยายตัวละคร {
{enum ชนิด
กรณีสระพยัญชนะ, อื่น ๆ
}
var ชนิด: ชนิด {
สลับสตริง (ตัวเอง) .lowercaseString {
กรณี "" "อี", "ฉัน", "o", "ยู":
กลับ .Vowel
กรณี "ข", "ค", "D", "F", "g", "เอช", "เจ", "k", "ลิตร", "m",
"n", "p" " คิว "," อาร์ "," S "," ที "," โวลต์ "," W "," x "," Y "," ซี ":
กลับ .Consonant
ค่าเริ่มต้น:
กลับอื่นใน
}
ตัวอย่างนี้ตัวอย่างนี้เพิ่ม แจงนับที่ซ้อนกันใหม่เพื่อตัวละคร นับนี้เรียกว่าชนิดเป็นการแสดงออกถึงชนิดของตัวอักษรที่แสดงให้เห็นถึงตัวละครโดยเฉพาะอย่างยิ่ง โดยเฉพาะมันเป็นการแสดงออกถึงตัวละครไม่ว่าจะเป็นสระหรือพยัญชนะในสคริปต์ภาษาละตินมาตรฐาน (โดยไม่คำนึงถึงสำเนียงบัญชีหรือเปลี่ยนแปลงในระดับภูมิภาค) หรือไม่ว่าจะเป็นชนิดของตัวอักษรอีก ตัวอย่างนี้ยังเพิ่มคุณสมบัติเช่นการคำนวณใหม่เพื่อตัวละครที่เรียกว่าชนิดซึ่งผลตอบแทนสมาชิกนับชนิดที่เหมาะสมสำหรับตัวละครที่ แจงนับที่ซ้อนกันในขณะนี้สามารถใช้กับค่าตัวอักษร: บำบัด printLetterKinds (คำ: String) { println (" (คำ) 'ถูกสร้างขึ้นจากชนิดของตัวอักษรต่อไปนี้:") สำหรับตัวละครในคำ { {character.kind สวิทช์กรณี .Vowel: การพิมพ์ ("สระ") กรณี .Consonant: การพิมพ์ ("พยัญชนะ") กรณีอื่นใน: การพิมพ์ ("อื่น ๆ ") } พิมพ์ (" n") tLetterKinds ("สวัสดี") สวัสดี 'ถูกสร้างขึ้นจาก ชนิดของตัวอักษรต่อไปนี้: พยัญชนะสระพยัญชนะสระพยัญชนะฟังก์ชั่นนี้ printLetterKinds ใช้การป้อนค่าสายอักขระและ iterates มากกว่าตัวละคร สำหรับตัวละครแต่ละตัวจะมีการพิจารณาสถานที่ให้บริการคำนวณชนิดสำหรับตัวนั้นและพิมพ์คำอธิบายที่เหมาะสมของชนิดที่ ฟังก์ชั่น printLetterKinds จากนั้นจะสามารถเรียกว่าการพิมพ์ชนิดของตัวอักษรในคำพูดทั้งหมดที่แสดงที่นี่เป็นคำว่า "สวัสดี". หมายเหตุ character.kind เป็นที่รู้จักกันอยู่แล้วที่จะเป็นชนิด Character.Kind ด้วยเหตุนี้ทุกค่าสมาชิก Character.Kind สามารถเขียนชวเลขในรูปแบบภายในงบเปลี่ยนเช่น .Vowel มากกว่า Character.Kind.Vowel
การแปล กรุณารอสักครู่..
นามสกุลตัวละคร {
นัมชนิด {
กรณีเสียงสระ พยัญชนะอื่น
} {
var ชนิด : ชนิดสลับสาย ( ตนเอง ) lowercasestring {
กรณี " เป็น " , " E " , " " , " 0 " , " U "
กลับมา สระ กรณี " B " , " C " , " D " , " F " G " H " K " J " , " " , " L " , " M "
" N " , " P " , " Q " , " r " , " S " , " ไม่ " , " V " " W " , " X " , " X " , " Z "
:
เริ่มต้นกลับ เป็นกลับ อื่น
}
ตัวอย่าง
ตัวอย่างนี้เพิ่มใหม่อยู่ใช้กับตัวละครอาการนี้เรียกว่าชนิดแสดงชนิดของตัวอักษรที่ตัวละครโดยเฉพาะแทน โดยเฉพาะ มันแสดงว่าตัว เป็นเสียงสระหรือพยัญชนะในสคริปต์ละติน ( โดยไม่ต้องจดลงในบัญชีมาตรฐานสำเนียงหรือแคว้น ) หรือไม่ว่าจะเป็นอีกประเภทของตัวละคร ตัวอย่างนี้ยังเพิ่มคุณสมบัติใหม่สำหรับอินสแตนซ์ตัวละครชื่อชนิดซึ่งผลตอบแทนที่เหมาะสมชนิดนับจำนวนสมาชิก สำหรับตัวละครที่ การแจงนับที่ซ้อนกันจะใช้ค่าอักขระ :
func printletterkinds ( คำ : สตริง ) {
println ( " N ( Word ) ' ถูกสร้างขึ้นต่อไปนี้ชนิดของจดหมาย : " )
สำหรับตัวอักษรในคำ { {
เปลี่ยน character.kind กรณี สระ :
พิมพ์ ( " สระ " )
.
พิมพ์พยัญชนะ : ( " ชื่อ " )
กรณี อื่นๆ : พิมพ์ ( " " )
}
พิมพ์ ( " n " )
tletterkinds ( " hello " )
สวัสดี ' ถูกสร้างขึ้นต่อไปนี้ชนิดของตัวอักษรพยัญชนะสระพยัญชนะสระพยัญชนะ :
printletterkinds ฟังก์ชันนี้ จะใส่ค่าสตริง และกล่าวย้ำผ่านตัวอักษรของ สำหรับแต่ละตัวละคร มันพิจารณาชนิดคำนวณคุณสมบัติสำหรับตัวละครนั้น และพิมพ์รายละเอียดที่เหมาะสมของชนิดที่การ printletterkinds ฟังก์ชันสามารถเรียกพิมพ์ชนิดของตัวอักษรในคำทั้งหมดตามที่แสดงที่นี่สำหรับคำว่า " สวัสดีค่ะ "
หมายเหตุ character.kind เป็นที่รู้จักกันอยู่แล้ว เป็นประเภท character.kind . ด้วยเหตุนี้ ทั้งหมดของตัวละคร ค่าชนิด สมาชิกสามารถเขียนชวเลขแบบฟอร์มภายในงบเปลี่ยน เช่น สระมากกว่าตัวละคร ชนิด . . .
การแปล กรุณารอสักครู่..