Screen Shot 2558-10-04 at 3.30.16 PM
Swift Developer รู้ไหมว่า ?
สามารถ run และ compile source code ผ่าน command line ได้นะ
สามารถใช้งานผ่าน CLI หรือ command-line interactive ได้นะ

ถ้ายังไม่รู้ มาเรียนรู้ไปด้วยกันนะ

เนื่องจากภาษา Swift นั้นถูกสร้างมา

เพื่อพัฒนาระบบงานบน Mobile, Desktop, Watch และ TV
แต่สิ่งหนึ่งที่ developer อาจจะไม่รู้คือ
เราสามารถใช้งาน swift ผ่าน command-line ได้นะ

ถ้าใครศึกษาภาษา Swift ตั้งแต่แรก
อาจจะรู้ว่าการ run และ compile ผ่าน command-line จะมีวิวัฒนาการประมาณนี้
จากยาก และ ยาว มาจนสู่วิธีการที่ง่าย ๆ

Source code ภาษา Swift นั้นจะถูก compile ก่อนเสมอ

แต่เชื่อว่า devloeper หลาย ๆ คนอาจจะยังไม่รู้ !!
เนื่องจากอาจจะใช้งานผ่าน Xcode เท่านั้น
หรือถ้ามาใช้ command-line ก็เพียงใช้คำสั่ง

$swift hello.swift

ซึ่งเป็นรูปแบบเดียวกับการ run ภาษา script ทั่วไป
แต่การทำงานจริง ๆ คือ ทำการ compile และ run ไปในตัว
เป็นแนวทางเดียวกับภาษา Go นั่นเอง

แต่ถ้าต้องการรู้ และ เข้าใจการทำงานของ Swift compiler
สามารถใช้คำสั่งดังนี้

//ทำการ compile โดย output ที่ได้คือไฟล์ hello
$swiftc hello.swift -o hello
//ทำการ run โปรแกรม
$./hello

มาเขียนโปรแกรมรับค่าจาก command-line กันหน่อยสิ
เขียน code ไม่ยากเลย ประมาณนี้

ลอง run ดูหน่อยสิ
$swift hello.swift somkiat up1

ผลการทำงานเป็นดังนี้
Hello hello.swift
Hello somkiat
Hello up1

อีกอย่างที่น่าสนใจ คือ ฝึก Swift ผ่าน CLI ได้เลยนะ (Command-Line Interactive)

สามารถเข้าใช้งานด้วยคำสั่ง
$swift

ผลการทำงานดังรูป

Screen Shot 2558-10-04 at 3.02.07 PM

ถ้าต้องการรู้ว่าใช้งานอย่างไร พิมพ์ :help
ถ้าต้องการออกจาก CLI นี้ ให้พิมพ์ :quit

ยังไม่พอนะ ถ้าต้องการรู้ว่า Swift ใน command-line ทำอะไรได้อีก
ให้พิมพ์
$swift –help

ในส่วนของ Swift CLI นี้ มันทำงานเหมือนกับ Playground จาก Xcode นั่นเองนะครับ

สามารถสร้าง Playground ได้ดังนี้

Screen Shot 2558-10-04 at 3.06.05 PM

หน้าตาของ Playground เป็นดังนี้ ผมทำการปรับ Theme UI นิดหน่อย

Screen Shot 2558-10-04 at 3.07.10 PM

มาถึงตรงนี้ จะเห็นได้ว่า Swift มันมีของให้เล่นเยอะเลย

ดังนั้น มาลองศึกษา Swift ผ่าน command-line ดูครับ
มันสนุกมาก ๆ
Command-line tool คือความสามารถอย่างหนึ่งที่ developer ควรมีนะครับ

Reference Website
https://realm.io/news/swift-for-CLI/

Tags: