วันอังคารที่ 17 มีนาคม พ.ศ. 2558

หัดเขียน Swift ตอนที่ 3 - Control Flow


สวัสดีครับเพื่อนๆ บทความที่แล้ว ผมได้เขียนเกี่ยวกับ Numeric type และ Conversion ไปแล้ว
และในวันนี้เอง ผมจะเขียนสรุปเรื่อง Control Flow หรือ Loop , If และ Switch case !! มาเริ่มกันเลยครับ

1) Loop For อย่างง่ายนั้น เขียนง่ายมากครับ ใช้ ... แทน "i++" และเงื่อนไข  ตัวอย่างเช่น


หรือจะเขียนแบบนี้ก็ได้ครับ เผื่อมีหลายLoop แล้วใช้เงื่อนไขเดียวกัน เราสามารถเอาเงื่อนไขการวน เก็บลงตัวแปรก็ได้ครับ เช่น

2) หากต้องการแสดงCharacter แต่ละตัว ใน String โดยใช้ Loop  ก็สามารถเขียนได้ง่ายมาก ดังนี้


3) While Loop ก็เขียนง่ายๆ คล้ายๆแบบเดิม ดังนี้


4) If หรือเงื่อนไข ก็ไม่ต่างจากแบบเดิมเท่าไหร่ครับ ตามนี้
จากตัวอย่างเป็นการวน Loop โดยตั้งเงื่อนไขให้การวนรอบสุดท้ายนั้น แสดง String ออกมาในรูปแบบตัวพิมพ์ใหญ่ทั้งหมด (Upper case)


5) Switch Statement ก็เช่นเดียวกัน รูปแบบคล้ายกับภาษาเดิมครับ (ต้องมี default ด้วยนะครับ ไม่งั้น Error)




และหากต้องการกำหนดเงื่อนไขหลายเงื่อนไขใน case เดียว ก็สามารถทำได้ง่ายๆ ดังนี้

เท่านี้ยังไม่พอ หากจะกำหนดเงื่อนไขเป็นช่วงของตัวเลขก็ได้ !!  ดังนี้




เป็นยังไงบ้างครับเพื่อนๆ ไม่ยากเลยใช่ไหมครับ หากใช้จนชินแล้ว ผมเชื่อว่าเราจะเขียนโปรแกรมได้สั้นกว่าเดิมมากเลยทีเดียว ^_^  สำหรับบทความนี้ก็จบลงเพียงเท่านี้ ไว้พบกันต่อในบทความหน้านะครับ

Good Bye

หัดเขียน Swift ตอนที่ 2 - Numeric type , Conversion


      สวัสดีครับเพื่อนๆ วันนี้ผมจะสรุปเรื่อง Numeric type และ Conversion นะครับ มาเริ่มกันเลย!!

1) Range ของ Interger type  มีขนาด 8 Bit (Signed Interger) และ  16 Bit (Unsigned Integer) ซึ่งส่วนใหญ่ ที่เราคุ้นเคยคือ Int มักจะมีขนาด 4 bit ในภาษาอื่นๆใช่ไหมครับ :) แต่ภาษา swift ไม่ใช่ 4 นะครับ ^_^

 2) สามารถแทรก เครื่องหมาย Underscore ( '_' ) เข้าไปในตัวเลขแบบนี้ได้ด้วย !!!!! เพื่อช่วยโปรแกรมเมอร์อย่างเราให้อ่านเลขได้ง่ายขึ้น และป้องกันการผิดพลาดในการอ่านหรือพิมพ์เลขด้วยครับ เจ๋งไปเลย :3


3) สามารถหาเรียกดูค่าสูงสุดของแต่ละชนิดตัวแปรนั้นๆ ได้ง่ายๆ ตัวอย่าง เช่น


ในบรรทัดที่ 2 จะเห็นว่า หากมีการกำหนดค่าที่มีขนาดเกินกว่าที่ชนิดตัวแปรนั้นๆจะเก็บได้ ก็จะเกิดการ overflow ขึ้น

4) ตัวแปร ชนิด Booleans ก็ไม่ต่างจากภาษาเดิมครับ คือ เก็บค่า true หรือ false


5) อันนี้อาจจะยังไม่เคยเห็นกันนะครับ นั่นก็คือ Tuple ซึ่ง Tuple คือชนิดตัวแปรอย่างนึง ที่เป็น grouping of multiple values into a single type หรือ กลุ่มของค่าหลายๆค่า ที่เก็บอยู่ในตัวแปรตัวเดียว (มันไม่ใช่ Class และ Structs นะ) ผมมองว่าเหมือน Tuple ใน Table ของฐานข้อมูลมากกว่า ซึ่งแต่ละแถวในtable ก็สามารถมีค่าได้หลายค่า


บรรทัดแรก คือการสร้างตัวแปรที่มี type เป็น tuple ครับ โดยเก็บค่า2ชนิด ที่เป็น int และ string 
บรรทัดที่ 2-3 เป็นการแสดงค่าของตัวแปร address ที่ประกาศเป็นชนิด tuple ซึ่งเราสามารถบ่งบอก index ที่ต้องการให้แสดงได้
บรรทัดที่ 4 เป็นการกำหนดค่าให้ใหม่สำหรับค่าในตำแหน่งแรก  หากไม่อยากให้เปลี่ยนแปลงค่าได้ ก็ให้กำหนดบรรทัดแรกใหม่ เป็น let หรือค่าคงที่ แทน var  นั่นเองครับ :)


หรือเพื่อนๆอยากจะประกาศตัวแปร tuple โดยวิธีอื่น ก็ทำได้หลายวิธี 

เช่น หากต้องการสร้างตัวแปร tuple โดย เก็บค่า 2 ค่า เป็นชนิด Double และ String ตามลำดับ ก็สามารถทำได้ ดังนี้ครับ



นอกจากนี้ หากต้องการกำหนดค่าให้ตัวแปรหลายๆตัว มีค่าเท่ากับ ค่าในแต่ละใน indexของtuple ก็สามารถเขียนแบบสั้นๆ ได้ ดังนี้ (ง่าย และยืดหยุ่น จนผมจำไม่ได้ละครับ)


จากภาพ เป็นการกำนหนดให้ตัวแปร house มีค่าเท่ากับ address4 ใน index แรก และกำหนดให้ตัวแปร street มีค่าเท่ากับ address4 ใน index ที่สอง ตามลำดับ



แค่นี้ยังไม่พอ!!!!!!  หากต้องการจะกำหนด index ให้เป็นข้อความ แทนที่จะเป็นตัวเลข ก็สามารถทำได้เช่นกัน  (โอ้ย โหดเกินไปแล้ว)  ดังนี้




สำหรับบทความนี้ ผมขอพอแค่นี้ก่อนนะครับ ไว้เจอกันในบทถัดไป ซึ่งผมจะเขียนเรื่อง Control flow หรือพวก Loop ต่างๆนั่นเอง

  สรุปว่า วันนี้พระเอกของเราคือ Tuple นะฮะ :3