วันพุธที่ 11 กุมภาพันธ์ พ.ศ. 2558

หัดเขียน Swift ตอนที่ 1 - Variables, Constants, String



          สวัสดีครับ ในบทความนี้ก็จะเป็นบทความถัดจาก บทความที่แล้ว ที่ได้มีการแนะนำเพื่อนๆให้รู้จักกับภาษา Swift และไฟล์สำหรับฝึกทดลองเล่นคำสั่งภาษา Swift อย่าง Playground ไปแล้ว ในบทความนี้ผมแนะนำเรื่องของ Variables , Constants และ String ในภาษา Swift กันครับ โดยใช้เจ้าตัว Playground นี่แหละครับ มาเริ่มกันเลยดีกว่า เพื่อจะได้ไม่เสียเวลาเน้อะ

        ผมเชื่อว่าคนส่วนใหญ่ที่กำลังศึกษาภาษา Swift เพื่อเขียนโปรแกรมสำหรับ iOS หรือ Mac OSX ก็ตาม น่าจะมีพื้นฐานทางโปรแกรมกันมาอยู่แล้ว ดังนั้นผมจะไม่ขอแนะนำพื้นฐานทางโปรแกรมมิ่งทั่วๆไปอย่างเช่น ตัวแปรคืออะไร ชนิดตัวแปรคืออะไร ลูปคืออะไรนะครับ และจะพูดในแง่ของการใช้งาน จะไม่ขอเจาะลึกถึงเบื้องหลังการทำงานในเชิงลึก  ดังนั้นรูปแบบของผมจะเป็น การแสดง Code ตัวอย่างก่อน จากนั้นจะอธิบาย Code ส่วนที่สำคัญที่เกี่ยวกับภาษา Swift ครับ  ป่ะ เริ่ม!!!

1) เข้า Playgroud แล้วทดลองพิมพ์คำสั่งตาม ดังนี้


จะเห็นได้ว่า

- การประกาศตัวแปรนั้น เปลี่ยนไปนิดหน่อย โดยมีรูปแบบดังนี้

                   var [ชื่อตัวแปร]: [ชนิดของตัวแปร] = [value]

- สามารถ assign ค่าให้กับ ตัวแปร greeting ใหม่ได้ 

- การแสดงค่าของตัวแปรออกมา (Debug) จะใช้ฟังก์ชั่น println( )   
  ( มันก็คือ NSLog( ) ในภาษา  Objective-C  นั่นเอง )



2) ลองเอา ชนิดของตัวแปรออก และกำหนดค่าให้ greeting ใหม่ เป็นเลขจำนวนเต็ม ดังนี้


จะเห็นได้ว่า

- เราไม่จำเป็นต้องประกาศชนิดของตัวแปร ก็ได้ แต่ต้องมีการกำหนดค่าเริ่มต้นให้ ซึ่งตัว compiler จะทราบชนิดตัวแปรและกำหนดให้อัตโนมัติ โดยอาศัยดูจาก ค่าเริ่มต้นที่กำหนดให้ (initial assignment) จากตัวอย่างคำสั่งนี้ greeting จะมี type เป็น String เพราะ Hello อยู่ภายใต้เครื่องหมาย Double quotes ซึ่งหมายถึง Value ที่เป็นชนิด String นั่นเอง

- พบ Error ที่ คำสั่ง greeting = 2558 เนื่องจาก greeting เป็นตัวแปรชนิด String แต่เราไปกำหนดค่าใหม่ ที่เป็น Interger ดังนั้นในเรื่องนี้ มันจะไม่ยืดหยุ่นเหมือนในภาษา PHP ครับ


3) กำหนดค่าให้กับตัวแปร greeting ใหม่ ตามนี้เลย 



- ดูจาก Code และผลลัพธ์ แล้ว คงพอเดากันได้ ว่ามันคือการ "ต่อสตริง" นั่นเอง โอ้วว พระเจ้าจอร์จ การต่อสตริง ง่ายเหมือนกับในภาษา Javascript และ PHP เลยครับ ใช้แค่เครื่องหมาย + ในการเชื่อมต่อเท่านั้นเอง  หากคนที่เคยใช้ Objective-C มาก่อน คงจะดีใจน้ำตาไหลแน่ๆ เพราะของเดิมนั้น "โคตรยาว"


4) ลองเปลี่ยนการประกาศตัวแปร โดยใช้ var นำหน้า เป็น let แทน ดังนี้


- การใช้ let นำหน้าตัวแปร ขณะประกาศตัวแปร หมายถึง การกำหนดชนิดตัวแปรให้เป็น ค่าคงที่ หรือ Constant นั่นเอง  ดังนั้น เราจึงไม่สามารถไปเปลี่ยนแปลงค่าให้กับตัวแปร greeting ได้นั่นเอง จึงเกิด Error ขึ้นมาทันทีครับ

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

5) ลองแก้โค้ดเป็นแบบนี้ดูครับ


จะเห็นได้ว่า

- String type มี API Method ให้เรียกใช้ด้วย อย่างเช่น capitalizedString และ append เพราะ String type ในภาษา Swift ก็เหมือนกับ NSString ใน Objective-C นั่นเอง หากคนที่เคยใช้Objective-C หรือพวกJava มาก่อน จะคุ้นเคยกับพวก method ต่างๆ เหล่านี้  เพราะ String ในภาษา Swift ไม่ใช่ Primative Data type เหมือนพวก int , float หรือ double  แต่เป็น Object type



ในบทความหน้า เราจะลุยกันต่อ ในเรื่องของ Numeric type และ Conversion  สวัสดีครับ :3


หัดเขียน Swift ตอนที่ 0 - แนะนำให้รู้จัก ภาษา "Swift" [ฉบับย่อ]




 
(ภาพจาก หนังสือ Swift by Tutorials A Hands-on Approach by Ray Wenderlich)


          ครั้งนี้เป็นครั้งแรกที่ผมเขียนบทความเกี่ยวกับภาษา Swift ซึ่งก่อนอื่นผมต้องบอกก่อนเลยว่า ผมไม่ได้มีความเชี่ยวชาญเกี่ยวกับภาษา Swift เลย เนื่องจากภาษา Swift นั้น เพิ่งได้มีการแนะนำอย่างเป็นทางการในงาน WWDC 2014 ที่ Apple ได้จัดขึ้นครับ ดังนั้น สิ่งที่ผมจะเขียนต่อไปนี้จึงเป็นสิ่งที่ผมเพิ่งศึกษามาทั้งสิ้นครับ ดังนั้น เราจะเรียนรู้ไปพร้อมๆกัน อาจจะมีถูกบ้างผิดบ้าง ต้องขออภัยไว้ ณ ที่นี้ด้วยครับ

          ในงาน WWDC 2014 บริษัท Apple ได้มีการแนะนำ New Swift Language  ซึ่งตัวภาษา Swift นั้น ก็จะมี Syntax ที่สั้นกระชับมากกว่าภาษา Objective-C อยู่มาก นอกจากนี้ยังมีฟีเจอร์ใหม่ๆ สำหรับ นักพัฒนาตัว Mac และ iOS อีกด้วยครับ

          ก่อนที่จะมาเริ่มเรียนรู้เกี่ยวกับ Basic element ของภาษานั้น  Appleได้มีการแนะนำประเภทของไฟล์ชนิดใหม่ที่เรียกกันว่า playground ครับ ซึ่งจะเป็นไฟล์เดี่ยวๆไฟล์เดียว(Single Swift File) ซึ่งจะไม่เหมือนพวกกลุ่มไฟล์ตอนสร้างProjectใหม่ ที่จะมีหลายไฟล์ครับ

         Playground แปลว่า "สนามเด็กเล่น" พอเดาได้ใช่ไหมครับ ว่ามันมีไว้ทำอะไร มันมีไว้ให้เราฝึกหัด เขียน หรือทดลองพิมพ์คำสั่งภาษา Swift เล่นนั่นเอง ซึ่งจะแสดงผลลัพธ์แบบ Real-time ที่ด้านข้างของทุกๆคำสั่งเลยทีเดียว ถ้ายังมองไม่เห็นภาพ สามารถดูตัวอย่างดังภาพด้านล่างได้เลยครับ

         ไฟล์ชนิด Playground นั้นเพื่อนๆสามารถสร้างได้ง่ายๆ โดยเลือกเมนู File จากนั้นเลือก New Playground จากนั้นเลือก iOS Plaform จากนั้นก็เลือก Save เป็นอันเสร็จเรียบร้อยครับ ^_^

       ในบทความหน้า ผมจะเริ่ม Basic ภาษา swift กันแล้วนะครับ โดยใช้เจ้าตัว Playground ในการทดลองคำสั่งครับ ไว้เจอกันใหม่ในบทความต่อไปครับ


ลิ้งสำหรับบทความถัดไป

หัดเขียน Swift ตอนที่ 1

http://tapepii-app.blogspot.com/2015/02/swift-1.html