หน้า: [1]
 
ผู้เขียน หัวข้อ: Ruby (เบสิ๊ค basic ruby นะจ๊ะ)  (อ่าน 15951 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
เท้าความก่อน

ดุกมาทำงานที่ใหม่ได้ครึ่งปีแล้วค่ะ น่าดีใจเนอะ
และก็ได้เรียนภาษาใหม่ ๆ ที่นอกจาก php อีกหลาย ๆ ภาษา แต่ในเดือนที่ 5 ก็ได้เริ่มเรียน ruby ค่ะ

ที่จริงดุกเคยอยากเรียนภาษาอื่น ๆ นอกจาก php ภาษาแรกที่คิดถึงเลย คือ ruby นะคะ
ส่วนเหตุผล ไม่รู้สิอยากเรียนมีไรมะ  กร๊าก เหตุผลเกรียนมาก

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


ภาษานี้คิดค้นจากชาวญี่ปุ่นท่านนึงค่ะ ชื่อนาย Matz หรือ Yukihiro Matsumoto
ซึ่งเริ่มใช้ภาษานี้มาตั้งแต่ปี 2538 โหวว มาถึงปีนี้ก็เกือบ 20 ปีแล้วนะเนี่ย
(อันนี้เพิ่งรู้เพราะเพิ่งเปิด wikipedia ดูประวัติภาษานี้นะ)


ข้อดีของเจ๊ทับทิม เท่าที่ดุกรู้
- ตัวภาษาเป็นภาษาระดับ 3 ข้อดีของภาษาระดับนี้ส่วนใหญ่คือเขียนตามไวยากรณ์ภาษาอังกฤษปกติ (กึ่ง ๆ ภาษามนุษย์)
ส่งผลให้ผู้เขียนสามารถเขียนโปรแกมได้ง่ายขึ้น โปรแกรมก็สามารถเข้าใจและนำไปประมวลผลได้
- เจ๊เค้าเร็วมากนะ อย่างน้อยก็เร็วกว่าคุณปู่ php แต่ก็ไม่เร็วเท่าคุณงู (python)
- มีความหลากหลายในการเขียน สามารถเขียนได้หลายรูปแบบมาก แล้วผลลัพธ์ก็จะออกมาเหมือนกัน (คนเขียนโปรแกรมจะสนุกกับการเขียนทำนองนี้มาก แต่ก็มีข้อเสียนะ เดี๋ยวจะเล่าให้ฟังทีหลัง)
- สามารถเขียนการวนลูปแบบต่าง ๆ ที่มีหลายบรรทัดให้จบได้ในบรรทัดเดียว
เหมาะกับการแก้ไขโปรแกรมหรือด้นสดบน command line มาก ๆ

อื่น ๆ ลองช่วยกันเพิ่มนะคะ




ข้อเสียของเจ๊ทับทิม
- เนื่องจากตัวภาษาเป็นภาษาที่สามารถเขียนได้หลากหลายรูปแบบสุด ๆ (เอาแค่การเพิ่มตัวแปร array ก็ทำได้ตั้ง 7 วิธีแล้วอะ  โห)
ส่งผลให้มันมีข้อเสียเวลาเราเขียนโปรแกรมเดียวกันกับเพื่อน ๆ เป็นทีม คือมันต้องกำหนดรูปแบบการเขียนให้ตรงกันก่อนจึงจะเริ่มเขียนได้
ไม่งั้นถ้าแบ่งกันเขียน แล้วเวลาเอามารวมกัน มันจะเขียนไม่เหมือนกันเลย เอามาต่อกันไม่ได้นั่นเองค่ะ

อื่น ๆ ลองช่วยกันเพิ่มนะคะ




ถ้ารับมือกับเจ๊ทับทิมได้ก็ ลองมาเรียนรู้พร้อม ๆ กันเลยดีกว่าา~~
บันทึกการเข้า


กรี๊ด น้องทับทิม  กรี๊ดดดดด
บันทึกการเข้า

<a href="http://img3.f0nt.com/flash/66d37d0393ee1ab1e2e55182dfabf34e.swf" target="_blank">http://img3.f0nt.com/flash/66d37d0393ee1ab1e2e55182dfabf34e.swf</a>
ขอลงหัวเรื่องไว้ก่อนนะคะติดธุระง่ะค่ะ เดี๋ยวมาเขียนต่อนะคะ


การ install
ตอนนั้นท่านหัวหน้าลงให้ดุกค่ะ แต่ก็ record การ install เอาไว้ด้วย (แต่ไม่อนุญาตให้เอาไปเผยแพร่นอกบริษัท)
ถ้างั้น เดี๋ยวดุกดูวิดีโอแล้วค่อยเอามาอธิบายให้ฟังในนี้ละกันนะคะ

- mac ในแมคเรา install ตัวนี้ค่ะ ชื่อว่า RVM
ขั้นตอน:
• เปิด terminal ขึ้นมานะคะ แล้วใช้คำสั่งนี้เลยค่ะ
โค้ด:
$ curl -L httpเอส://get.rvm.io | bash -s stable --ruby
คำสั่งนี้เป็นการลง RVM โดยที่ลง ruby มาด้วยเลยค่ะ
• เมื่อทำการ install เสร็จแล้ว สามารถตรวจสอบว่ามี ruby อยู่ในเครื่องแล้วหรือยังโดยใช้คำสั่ง
โค้ด:
which ruby

หรือ
โค้ด:
ruby -v
ก็ได้ค่ะ

- windows ใช้ตัว install จากเว็บ http://rubyinstaller.org/downloads/ ค่ะ
ขั้นตอน:
• download version ล่าสุดได้จากที่นี่เลยค่ะ แล้วทำการ install ไปตามปกติค่ะ
• เมื่อทำการ install เสร็จแล้ว สามารถตรวจสอบว่ามี ruby อยู่ในเครื่องแล้วหรือยังโดยใช้คำสั่งนี้ค่ะ
โค้ด:
ruby -v



ลงโปรแกรมอะไรด้วยเหรอ ยุ่งยากจัง..
ถ้าไม่อยากลงโปรแกรมไว้ในเครื่องล่ะ?

เว็บนี้เลยค่ะ
http://tryruby.org/levels/1/challenges/0
หน้าตาหน้าเว็บประมาณนี้ค่ะ


เราสามารถพิมพ์โค้ดทดสอบลงไปในนี้เพื่อ run ได้เลยค่ะ



- ถ้าเราจะลอง shell script ล่ะ ใช้คำสั่งอะไร
โค้ด:
irb
จะเป็น command เหมือนในเว็บตะกี้นี้เลยค่ะ ลงทดสอบ code ruby ได้ในนั้นเลย



- ruby เขียนเป็นไฟล์ได้มั้ย?
ได้ค่ะโดยเขียนแล้วให้ save file เป็นไฟล์นามสกุล .rb ก็ใช้ได้แล้วค่ะ save ไว้ที่ไหนก็ได้
ส่วนวิธี run file ก็ให้ใช้คำสั่งดังนี้
โค้ด:
ruby <path file .rb>



- ใช้อะไรเขียน?
ใช้ text editor อะไรก็ได้ตามถนัดเลยค่ะ
ปกติก็ใช้ textmate ไม่ก็ textwrangler บ้างไรบ้าง (ก็บน mac นี่นะ)
« แก้ไขครั้งสุดท้าย: 29 ก.ย. 2012, 23:22 น. โดย กวางจ้ะ » บันทึกการเข้า
ส่วนการเขียนในเบื้องต้น ดุกขอใช้ terminal ใน mac ซึ่งก็เทียบเท่ากับ command prompt ใน windows นะคะ
แล้วค่อยไปเขียนยาว ๆ ใน text editor ที่ถนัดในลำดับต่อไปค่ะ



ในระยะเริ่มแรก ท่านหัวหน้าได้เขวี้ยง tutorial ของสำนัก Lynda.com ภาค ruby essential ค่ะ
ซึ่งตัวอย่างมันจะเข้าใจได้ง่ายมาก และก็ดู text เล่มนี้ประกอบด้วย เก่ามากแล้ว (ปี 2006 โน่น)
เวลาเอามาใช้ก็ต้องคอยดูด้วยว่ามันเปลี่ยน version ไปรึยัง



ตัวหนังสือหนาประมาณ yellopages 2 เล่มครึ่งซ้อนกันค่ะ  โวย


บทเรียนที่จะเรียนกันมีดังนี้จ้ะ

ruby object type ก็จะประกอบด้วยวัตถุ และตัวแปรลักษณะต่าง ๆ ในภาษา ruby ที่ใช้ ๆ กัน
- variables
- integers
- floats
- strings
- arrays
- array methods
- hashes
- symbols
- booleans
- ranges
- constants

Control Structures พูดถึงเงื่อนไขต่าง ๆ ที่ใช้ในภาษา ruby
- if else elsif
- unless case
- loops
- iterators

Code Blocks พูดถึงการเขียนโค้ดแบบ block กล่าวคือมีหัวเปิดด้วย do และปิดท้ายด้วย end ค่ะ
- Code block คือ?
- find
- merge
- collect
- sort
- inject

Methods
Classes
Working with Files
Ruby Project Creating the Food Finder
« แก้ไขครั้งสุดท้าย: 30 ก.ย. 2012, 00:45 น. โดย กวางจ้ะ » บันทึกการเข้า


กรี๊ด น้องทับทิม  กรี๊ดดดดด

น้องเค้าสวยดีน๊าา  กรี๊ดดดดด


ไม่ใช่แล้ว!!  โวย
บันทึกการเข้า
เยี่ยม ๆ เริ่มแล้ว ๆ  กรี๊ดดดดด
บันทึกการเข้า

จองโต๊ะแถวหน้าสุด กึ๋ยๆ
บันทึกการเข้า

Reading Learning & Sharing
variable

การประกาศตัวแปรสำหรับ ruby ธรรมด๊า ธรรมดา ไม่ยากเท่าไหร่ แค่

โค้ด:
x = 1
โค้ด:
y = "hello ชาวฟอนต์!"
โค้ด:
z = []
โค้ด:
a = -9
โค้ด:
b = -0.27
โค้ด:
c = true


ง่ายมากชิมิล่า~




แต่นี่คือการประกาศตัวแปรแบบใช้ทั่วไปค่ะ (ก็คือตัวแปรแบบ local ล่ะนะ)
ถ้าเกิดเราต้องการประกาศตัวแปรแบบที่ใช้งานในระดับต่าง ๆ ข้าม class กันได้
หรืออยากประกาศตัวแปรแบบ Global ไรงี้ ก็ใช้ได้ตามตารางนี้เลยค่ะ

Global$variable
Class@@variable
Instance@variable
Localvariable
Blockvariable
« แก้ไขครั้งสุดท้าย: 29 ก.ย. 2012, 23:42 น. โดย กวางจ้ะ » บันทึกการเข้า
integers


มาเริ่มที่ตัวแปรประเภทแรกกัน นั่นคือตัวแปรแบบตัวเลขนั่นเองค่ะ

ตัวเลขโดยปกติจะมีอยู่ 2 แบบ นั่นคือ

• แบบจำนวนเต็ม (integer)
• แบบมีทศนิยม (float)

โดยในช่วงนี้จะกล่าวถึงตัวเลขแบบ integer ก่อนนะคะ ในช่วงถัดไปจะกล่าวถึงตัวเลขแบบ float ค่ะ


อย่างใน ruby เองก็จะสามารถใส่เครื่องหมายที่แสดงการคำนวณคั่นระหว่างตัวเลข 2 ตัว
ruby ก็จะทำการประมวลผลให้เองอัตโนมัติ ดังนี้ค่ะ


ตัวอย่าง





ถ้าลองประกาศตัวแปรจากนั้นเอาตัวแปรนั้นมาคำนวณดูบ้าง?


ตัวอย่าง#1 ให้ x=2 แล้วเอา 4 หารด้วย x






ตัวอย่าง#2 ลองคำนวณตัวเลขแบบต่าง ๆ ดูบ้าง โดยให้ x = 4







ตัวอย่าง#3 ลองคำนวณตัวเลขแบบที่มีวงเล็บบ้าง








function ต่าง ๆ ที่ใช้กับตัวเลข
• <number>.class สำหรับใช้ดูว่าเป็น class อะไร
ตัวอย่าง


• <number>.abs สำหรับแปลงค่าตัวเลขเป็นค่าตัวเลขแบบ absolute
ตัวอย่าง


• <number>.next สำหรับบวกค่าตัวเลขเป็นค่าตัวเลขบวก 1
ตัวอย่าง
บันทึกการเข้า
มาแล้วๆ กรี๊ดดดดด
บันทึกการเข้า

Reading Learning & Sharing
float

เป็นตัวแปรตัวเลขแบบทศนิยมค่ะ ไม่ว่าจะทศนิยมกี่ตำแหน่งก็ตาม สำหรับ ruby เรียกว่าเป็นตัวแปรแบบ float ทั้งหมดค่ะ



• เจ้าเป็น float ตัวจริงหรือไม่?
เช็คได้โดยใช้คำสั่ง .class ค่ะ

ตัวอย่าง






• ถ้าลองประกาศตัวแปรที่ค่าจริง ๆ ก็เหมือนกัน เช่น 10.00 กับ 10 มันจะมีอะไรแตกต่างกันมั้ย?
ลองดูตัวอย่างนี้ละกันค่ะ






• ลองหารแบบได้ผลลัพธ์เป็นเลขแบบทศนิยมซ้ำให้ดูหน่อยได้มั้ย?
ได้ ๆ จัดมา..






• function ที่ใช้กับเลขแบบ float
- <number>.round
เป็นการดูค่าจำนวนเต็มโดยประมาณ (ปัดเศษ 5-9 ปัดขึ้น 1-4 ปัดลง)
ตัวอย่าง



- <number>.to_i
เป็นการแปลงค่า float เป็น integer ค่ะ
ตัวอย่าง
บันทึกการเข้า
รูบี้ หื่น
บันทึกการเข้า

ต๊กต๋าเปิ้นเป๋นดีไค่หัว ต๊กต๋าตัวเป๋นดีไค่ไห้
ช่วยมาต่อด้วยครับ
รออยู่อยากศึกษามากๆเลย
บันทึกการเข้า
หน้า: [1]
 
 
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines | Thai language by ThaiSMF Valid XHTML 1.0! Valid CSS!