Programming
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 เป็นภาษาสำหรับคนที่เริ่มมเรียนโปรแกรมมิ่งเพราะว่ามันง่าย! มันเป็นภาษาที่มีพลัง, ภาษาแบบมืออาชีพเท่าที่เคยมีมา.
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
Submitted by poonlap on Wed, 2005-12-07 21:48.เห็นคุณ bact's กับลังใช้ ruby เลยอยากปลุกกระแสบ้างโดยมาเรียน Ruby กันเถอะ. วันนี้เอาเรื่องคุณสมบัติของ ruby ก่อนแล้วกัน.
- ruby เป็นโปรแกรมแปลภาษา (intepreter)
ruby เป็นพวกเดียวกับ bash, awk, perl, python ฯลฯ ในแง่ที่ว่าเป็นโปรแกรมแปลภาษา. โปรแกรมภาษาพวกนี้เหมาะสำหรับเขียนสคริปต์เพราะการสร้างโปรแกรมด้วยตัวแปลภาษาพวกนี้ทำได้เร็ว, ไม่ยุ่งยากเมื่อเทียบกับภาษาคอมพิวเตอร์ที่ต้องคอมไพล์. สรุปง่ายๆคือใช้ง่ายและทำอะไรได้หลายอย่างด้วยการเขียนโค้ดสั้นๆ. - เป็นภาษาแบบ object oriented
Joel on Software
Submitted by poonlap on Wed, 2005-07-27 15:34.ไม่ได้เขียนบล็อกเกือบเดือน, วันนี้เริ่มได้เขียนก็จะจบเดือนไปแล้ว.
หลายคนคงเคยอ่านเว็บล็อก Joel On Software เป็นเว็บล็อกยอดนิยมของคนในวงการซอฟต์แวร์ที่เขียนโดย Joel Spolsky. เขาเขียนบ่อยและเขียนที่ยาวด้วย. เคยอ่านเนื้อหาที่เขาเขียนจาก slashdot เรื่อง How Microsoft Lost the API War แล้วยังติดใจมาตลอด.