Ruby
www.tanabutr.co.th/photobook
4. รวมเข้าด้วยกัน
Submitted by poonlap on Wed, 2006-11-01 21:42.3. ตัวแปรและการตั้งค่า
Submitted by poonlap on Sun, 2006-10-29 08:47.เท่ีาที่ผ่านมา เวลาที่เราใช้ puts แสดงตัวเลขหรือสตริงก์, สิ่งที่เราแสดงจะแสดงแล้วหายไป. ผมหมายความว่า, ถ้าเราต้องแสดงอะไรสองครั้ง, เราต้องพิมพ์สองครั้ง
puts '...you can say that again...' puts '...you can say that again...'
2. ตัวอักษร
Submitted by poonlap on Sun, 2006-10-29 00:56.เราเรียนเรื่องเกี่ยวกับตัวเลขไปแล้ว, แล้วตัวอักษรล่ะ? คำ? เท็กซ์?
เราเรียกกลุ่มตัวอักษรในโปรแกรมว่าสตริงก์ (strings). (ให้คุณนึกถึงตัวอักษรที่นำมารวมกันบนป้าย) เพื่อที่จะให้ดูสตริงก์ง่ายขึ้นในโค้ด, ผมจะใช้สีแดง. ต่อไปนี้เป็นตัวอย่างของสตริงก์:
1. ตัวเลข
Submitted by poonlap on Sun, 2006-10-29 00:53.ถึงตอนนี้คุณก็ผ่านขั้นเรื่องของการติดตั้งเรียบร้อยแล้ว, เรามาเริ่มเขียนโปรแกรมกันดีกว่า! เปิดบรรณาธิกรณ์ที่คุณชอบใช้แล้วพิมพ์สิ่งต่อไปนี้:
puts 1 + 2
เซฟโปรแกรม (ใช่แล้ว, นี่คือโปรแกรม!) ชื่อ calc.rb (.rb มักจะใช้ระบุว่าเป็นโปรแกรมที่เขียนด้วยภาษา Ruby). ตอนนี้ก็รันโปรแกรมโดยการพิมพ์ ruby calc.rb ในบรรทัดคำสั่ง. มันควรจะแสดงผลลัพธ์ 3 บนหน้าจอ. เห็นไหมว่าการเขียนโปรแกรมไม่ยากใช่ไหม.
0. เริ่มต้น
Submitted by poonlap on Sun, 2006-10-29 00:50.ถ้าคุณจะเขียนโปรแกรมคอมพิวเตอร์, คุณต้อง "พูด" ด้วยภาษาที่คอมพิวเิตอร์เข้าใจ: คือภาษาโปรแกรม. มีโปรแกรมหลายภาษามากมาย, และหลายภาษาก็เป็นภาษาที่เยี่ยมยอด. ในติวทอเรียลนี้จะใช้ภาษาที่ผมชอบได้แก่, Ruby.
นอกจากจะเป็นภาษาที่ผมชอบแล้ว, Ruby ยังเป็นภาษาโปรแกรมภาษาหนึ่งที่เขียนได้ง่ายที่สุดที่เคยเห็นมา (ซึ่งผมอาจจะพบเห็นมาน้อย). ในความเป็นจริงแล้วสำหรับการเขียนติวทอเรียลครั้งนี้: ผมไม่ได้ตัดสินใจเขียนติวทอเรียล, และเลือก Ruby เพราะว่าเป็นภาษาโปรแกรมที่ผมชอบ; ในทางตรงกันข้าม, ผมพบว่า Ruby มันง่ายมากจนกระทั่งตัดสินว่าควรจะเขียนติวทอเรียลดีๆสำหรับคนที่เริ่มเขียนโปรแกรม. มันเป็นความเรียบง่ายของภาษา Ruby ที่ทำให้เริ่มต้นติวทอเรียลนี้, ไม่ใช่เพราะว่าเป็นภาษาโปรแกรมที่ผมชอบ (การเขียนติวทอเรียลทำนองเดียวกันเช่น C++ หรือ Java อาจจะทำให้ต้องเขียนเป็นร้อยๆหน้า) แต่กรุณาอย่าคิดว่า Ruby เป็นภาษาสำหรับคนที่เริ่มมเรียนโปรแกรมมิ่งเพราะว่ามันง่าย! มันเป็นภาษาที่มีพลัง, ภาษาแบบมืออาชีพเท่าที่เคยมีมา.
เปรียบ Java กับ Ruby (ด้วยความหนาของหนังสือ)
Submitted by poonlap on Fri, 2005-12-16 22:00.
ไม่ได้เปรียบเทียบทางเทคนิค, แต่เปรียบเทียบด้วยความหนาของหนังสือว่าเรื่องแบบเดียวกันสิ่งที่ต้องเรียนรู้, กับปริมาณโค้ดมันต่างกันเยอะ. ดูแล้วค่อนข้างเวอร์ไปนิด, กึ่งลำเอียง. แต่ยกนิ้วให้คนออกไอเดียนี้ครับ. แต่ที่เขียนเปรียบเทียบจริงจังหน่อยเรื่อง Java web application กับ Ruby on Rails ก็เห็นว่าที่นี่ (ภาษาญี่ปุ่น) อธิบายไว้ดีครับ.
Object Oriented ใน ruby
Submitted by poonlap on Sun, 2005-12-11 21:58.รู้สึกว่าจะหลีกเลี่ยงที่จะไม่พูดถึง object oriented ไม่ได้ (ต้องพูด) เพราะใช้ ruby ไปแล้วมันต้องไปเกี่ยวข้องกับเรื่องนี้, ก็ต้องมีความรู้ปูพื้นเรื่องนี้ไว้ด้วย.
ทุกอย่างใน ruby เป็นอ็อบเ็จค (วัตถุ) หมด. อ็อบเจ็คหรืออินสแตนซ์ (instance) เกิดมาจากคลาส (class). ให้คิดว่าคลาสเป็นแม่พิมพ์ต้นแบบหรือเป็นประเภท (type) สำหรับแยกแยะวัตถุ (อ็อบเจค) ต่างๆ. คลาสหรือตัวแม่พิมพ์จะมีการกำหนดไว้ล่วงหน้าแล้วว่าอ็อบเจคที่จัดอยู่ในคลาสนั้นๆจะมีคุณสมบัติอะไร, ทำอะไรได้บ้าง. สมมติว่าเราตั้งคลาสที่ชื่อว่า Car. รถยนต์ก็ต้องมีล้อ, มีพวงมาลัย. นอกจากพวกส่วนประกอบแล้วก็ยังต้องมีกริยาหรือการกระทำ. เช่นรถยนต์ก็ต้องวิ่งได้. เวลาเขียนโปรแกรมพวกคุณสมบัติก็มักจะเก็บอยู่ในตัวแปร, ส่วนกริยาก็เป็นฟังก์ชัน. แต่ฟังก์ชันของคลาสเรามักจะเรียกว่าเมตธอต (method). การควบคุมอ็อบเจคนั้นมักจะเกิดจากการส่ง message ให้อ็อบเจคซึ่งก็คือการเรียกใช้เมตธอตนั่นเอง. เช่นมีตัวแปรชื่อ var เก็บอ็อบเจคของคลาส String. เราก็สามารถสั่งอ็อบเจคนั้นให้ทำงานต่างๆได้ถ้าเรารู้ว่าอ็อบเจคนั้นทำอะไรได้บ้าง. สมมติว่าเราต้องการสั่งให้ var มันแสดงจำนวนอักขระที่มีอยู่ในตัวมันก็ต้องรู้ว่าต้องใช้เมตธอต length. แล้วสั่งruby เบื้องต้น
Submitted by poonlap on Sat, 2005-12-10 21:56.ไม่รู้ว่าจะเริ่มยังไงดี. เอาเป็นว่าเริ่มจาก built-in method เบื้องต้นก็แล้วกัน. built-in method นี่ก็คือ private method ที่แนะนำไปในครั้งที่แล้วหรือเรียกอีกอย่างว่า kernel method.
สคริปต์ต่อไปนี้สมมติว่าชื่อ inout.rb. เวลารันมันจะถามให้คนใช้พิมพ์อะไรเข้าไปแล้วส่งสิ่งที่พิมพ์นั้นกลับมาทางหน้าจอ. ตัวเลขที่อยู่หน้าทุกบรรทัดนั้นเพื่อความสะดวกในการอ้างอิง, ไม่ต้องพิมพ์ตาม.ติดตั้ง ruby แล้ว Hello world!
Submitted by poonlap on Fri, 2005-12-09 21:51.ว่าจะข้ามตรงนี้ไปเลยก็อดไม่ได้ที่จะเขียนให้. วันนี้เป็นเรื่องของการติดตั้ง ruby.
สำหรับคนที่ใช้ิลินุกซ์ตระกูล debian ก็ apt-get. พวกที่ใช้ fedora ก็ใช้ yum, พวกที่ใช้ gentoo ก็ emerge. หรือดาว์นโหลดรหัสต้นฉบับจาก ruby-1.8.3 จากเว็บไซด์ต้นตำหรับ. ถ้าจะใช้บนวินโดวส์ก็ลง cygwin หรือ RubyForge ก็ได้.
ติว Ruby ด้วย Ajax
Submitted by poonlap on Thu, 2005-12-08 21:50.เจอเว็บไซด์ดีๆจากเว็บ blog ของคนญี่ปุ่นมาอีกที. เป็นเว็บไซด์ที่ใช้ Ajax มาทำ tutorial ภาษา ruby. ได้เรียนทั้ง ruby และทึ่งใน Ajax ด้วยในคราวเดียวกัน.
Ruby มันไม่ interactive คือรันคำสั่ง ruby ไปแล้วไม่มีพร้อมไม่มีอะไร. ไม่เหมือนกับ python ที่รันแบบ interactive ได้ด้วย. ถ้าจะใช้ ruby แบบ irb (interactive ruby).
