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

หัดเขียน 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







ไม่มีความคิดเห็น:

แสดงความคิดเห็น