วันเสาร์ที่ 6 พฤษภาคม พ.ศ. 2560

Method Collect คืออะไรน๊าา อยากรู้ก็เข้ามาดูกัน!!

สวัดดีค่าาาเพื่อนๆ <3
วันนี้เรามาเริ่มต้นเดือนพฤษภากันกับเจ้า Method Collect กันเถ๊อะ หลายคนคงอยากรู้แล้วสิ ว่าเจ้า Method Collect นี้มันทำอะไรได้ งั้น...ไปดูกันน

      เจ้า เมธอด collect จัดอยู่ในคลาสพื้นฐานอย่าง คลาส Array, Hash หรือ Struct ในเบื้องต้นเราสามารถเรียกใช้เมธอด collect จากอ็อบเจกต์ที่เป็นอินสแตนซ์ของคลาสที่กล่าวไปข้างต้น
      เมธอด collect จะทำงานโดยการวนรอบสมาชิกแต่ละตัวของอ็อบเจกต์ที่เรียกใช้มัน แล้วทำการรันโค้ดในบล็อก ค่าสุดท้ายที่รีเทิร์นจากการรันบล็อกในแต่ละรอบจะถูกเก็บลงไปในอาร์เรย์ ซึ่งอาร์เรย์ดังกล่าวจะเป็นอ็อบเจกต์ที่ถูกคืนกลับออกมาเมื่อเมธอด collect จบการทำงาน (วนรอบสมาชิกแต่ละตัวของอ็อบเจกต์ receiver จนหมด)
ประโยชน์ของ collect คือเราสามารถใช้มันเพื่อ "transform" ข้อมูลที่เราต้องการได้ มาดูตัวอย่างกันเล้ย
            ธ๊าด๊า...


เริ่มแรกเราก็สร้างเมธอด my_Prolang และมีตัวแปรคือ data และก็เรียกใช้เมธอด collect ด้วยคำสั่ง data.collect และกำหนดตัวแปร x เพื่อสำหรับรับค่าที่ส่งมา ซึ่งในรูปข้างต้นเราต้องการให้มัน transform จาก int เป็น chr เราจึงใช้คำสั่งว่า x.chr

*เพิ่มเสริมเติมแต่งจ้า
จะใช้เป็น x บวก , ลบ , คูณ , หาร อะไรก็ได้นะ 



ในบรรทัดนี้เราก็จะส่งค่าไปให้มันนั่นเอง ซึ่งมันจะมองค่าของตัวเลขที่เรียกใช้มันไปเป็นค่าของ ASCII code ก็จะได้ผลลัพธ์ดังนี้จ้าาาา



😁😁

งั้น...ต่อไปเราลองมาดูการใช้ เมธอด collect เพื่อหาผลลัพธ์สูตรคูณในแต่ละแม่กัน อิอิ ตื่นเต้นอ๊า



นี่แหนะ เอาไปดู 🙆

อะงงเด้..งงเด้ มาๆจะบอกให้ฟัง ในบรรทัดที่ 1-10 ก็เป็นการสร้างเมธอดเพิ่มแหละ ให้มันเป็นสูตรคูณแม่ 2 , 3 และ 4



ในส่วนนี้ก็เป็นการรับค่าตัวเลขที่เราต้องการทราบว่าเมื่อคูณในแต่ละแม่แล้วจะได้ค่าอะไร
เอ๊ ? แต่ถ้าใครงงละก็ว่ารับค่ายังไง..ย้อนกลับไปดูบทความเก่าๆของเราได้น๊า



จากนั้นก็สั่งปริ้นออกมาเล้ย เย้ มาๆดูผลลัพธ์เร็ว



จบแว้วววว เย้๊

ไปก่อนน๊าเพื่อนๆ เจอกันในบทความต่อไป คอยติดตามด้วยนะ จุ๊บๆ💋




( ที่มาของ ASCII CODE : https://www.ireallyhost.com/kb/other/173 )






วันอาทิตย์ที่ 30 เมษายน พ.ศ. 2560

มาสนุกกับ String ในภาษา Ruby กันเถอะ


          สวัสดีจ้า มาพบกันอีกแล้วหลังจากห่างหายกันมาน๊านนนนน นาน วันนี้เรามีทริกเล็กๆ เกี่ยวกับ String มาฝากกัน มาดูกันเลยว่าจะน่ามหัศจรรย์ขนาดไหน


แอ๊ะแอ๋!! เปิดมาคงตกใจล่ะสิว่านี่มันอะไร เรามาค่อยๆ ดูกันไปทีละขั้นกันเลยดีกว่า



เริ่มแรกเลยเราประกาศชุดของ String ขึ้นมา 2 ชุดด้วยกันคือ _String01 และ _String02 เรามาดูกันว่า เราจะทำให้ _String01 ของเรากลายเป็นตัวพิมพ์ใหญ่ทั้งหมดได้ยังไง บรรทัดที่ 5 นั้นเอง


ถ้ามีทำตัวพิมพ์ใหญ่ก็ต้องมีการทำให้เป็นตัวพิมพ์เล็กก็คือบรรทัดที่ 7 


ส่วนบรรทัดที่ 9 นั้นเป็นการกลับหน้าไปหลังกลับหลังไปหน้า 


บรรทัดที่ 11 นี้ออกจะแปลกตาไปหน่อย มันมีไว้สำหรับการทำให้ตัวอักษรแรกเป็นตัวพิมพ์ใหญ่ ส่วนตัวที่เหลือเป็นตัวพิมพ์เล็ก


แต่เอะ? แล้วบรรทัดที่ 13 ถึงบรรทัดที่ 22 ล่ะทำไมเหมือนอาเรย์เลย? ใช่แล้วมันเหมือนอาเรย์เลยโดยตัวอักษรแต่ละตัวก็เหมือนกับ 1 ช่องของอาเรย์นั้นเอง


เอาล่ะเมื่อรู้หมดแล้วว่าแต่ละบรรทัดทำอะไรได้บ้างเรามาดูกันดีกว่าว่าพอรันออกมาแล้วจะเป็นยังไง


แต๊แดน!! เป็นไปตามที่คาดกันรึเปล่า 

สรุปนิดนึง 
- ถ้าเราต้องการให้ String ของเราเป็นตัวพิมพ์ใหญ่ทั้งหมดให้ใช้ .upcase
- ถ้าเราต้องการให้ String ของเราเป็นตัวพิมพ์เล็กทั้งหมดให้ใช้ .downcase
- ถ้าเราต้องการให้ String ของเราพิมพ์จากหน้ามาหลังให้ใช้ .reverse
- ถ้าเราต้องการให้ String ของเรามีตัวพิมพ์ใหญ่เป็นตัวอักษรตัวแรกตัวเดียวให้ใช้ .capitalize
- ถ้าเราต้องการพิมพ์อักษรตำแหน่งต่างๆ ใน String ให้ใช้ ["ตัวเลข"]  ตามหลังชื่อตัวแปรของเรา

สำหรับวันนี้ก็ขอฝากไว้แค่นี้ก่อน หวังว่าท่านผู้อ่านจะได้อะไรๆ ไม่มากก็น้อย สำหรับวันนี้สวัสดีครับ








วันศุกร์ที่ 7 เมษายน พ.ศ. 2560

( Array )อาเรย์ น้าเรย์


สวัดดีนะคะเราก็มาเจอกันอีกเเล้ว; ~~

 สำหรับวันนี้เราจะมาพูดเกี่ยวกับเรื่อง Array คอมพิวเตอร์ในปัจจุบันมีการใช้งานที่เเพร่หลายซึ่งมีปริมาณข้อมูลจำนวนมาก เเละมักจะถูกนำมาใช้ในการคำนวณข้อมูลที่มีปริมาณมากๆเช่น การหาค่าเฉลี่ยของตัวเลย เป็นต้น ซึ่งถ้าเราเก็บข้อมูลของเเต่ละค่าไว้ในตัวเเปลเเต่ละตัวเราจะต้องใช้ตัวเเปรปริมาณมากๆ ดังนั้นจึงมีการนำ Array มาใช้ในการเก็บข้อมูลประเภทนี้

บทความนี้เรามาทำความรู้จักกับการสร้าง เเละใช้งานต่างๆกันนะคะ


Array คืออะไร?

Array คือ ตัวแปรที่เป็นพื้นที่สำหรับจัดเก็บข้อมูล
Array คือ ตัวแปรพิเศษที่สามารถเก็บค่าได้หลายค่า ภายในตัวแปรตัวเดียว
Array สามารถเก็บค่าหลาย ๆ ค่า ไว้ภายในตัวแปรเดียว และเข้าถึงได้ ด้วยการอ้างถึงชื่อของ array


ในภาษารูบี้สามารถประกาศค่าตัวเเปรเเบบ Array ได้โดย





 หรือ






ซึ่งหากเราต้องการระบุข้อมูลไปใน Array พร้อมกับประกาศตัวเเปรเราสามารถทำได้ดังนี้

เมื่อเราอยากให้ข้อมูลใน Array เป็นดังนี้



ก็สามารถประกาศได้เป็น






หรือ







ซึ่งในส่วนของอ้างอิงค่าตำเเหน่ง(Index)ของข้อมูลใน Array นั้นจะเริ่มต้นที่ 0 เสมอ หมายความว่าค่าเเรกที่ใส่ไปใน Array จะเริ่มเป็นตำเเหน่งที่ 0 ค่าที่สองจะเป็น ตำเเหน่งที่ 1 ตามลำดับ



เเละหากเราต้องการทราบว่าค่าภายในArray ตำเเหน่งนั้นคืออะไร มีค่าอะไรอยู่เราสามารถเรียกดูได้ดังนี้






ค่าที่ออกมาคือ Bangkok เลข 0 คือหมายถึงตำเเหน่ง(Index) ที่เราต้องการทราบ



เเต่อย่างไรก็ตามในภาษา รู้บี้นั้นยังสามารถเรียกดูได้ง่ายโดยสามารถ ระบุ .first เพื่อเรียกดู ข้อมูลภายใน Array ตัวเเรกเเละเรียก.last ในข้อมูล Array ตัวสุดท้าย








ต่อมาการเพิ่มข้อมูล Array เพิ่มเติมจากที่กำหนดหรือประกาศไว้ในตอนเเรก
จะประกาศดังนี้






หรือกำหนดว่าให้เพิ่มที่ตัวถัดไปนะ






หรือหากเราต้องการลบข้อมูลทำดังนี้

province.delete(ตำเเหน่งที่เราต้องการลบ)


ตัวอย่างเช่น







นี้ก็จบพื้นฐานของการใช้งาน Array ในภาษา Ruby กันเเล้วหวังว่าจะได้นำไปใช้ประโยชน์ไม่มากก็น้อยนะคะไว้เจอกันใหม่ในเรื่องหน้าา


สวัดดีค่าาาา~~~




วันพุธที่ 5 เมษายน พ.ศ. 2560

อยากจะวนลูป(Loop) ทำยังไงไปดูกัน! {ภาษา Ruby}

สวัดดีค่าวันนี้เราก็จะมาอธิบายเกี่ยวกับการวน loop  ในภาษา Ruby กัน 

ทำไมการวน loop ถึงสำคัญ? 
เพื่อนๆหลายคนอาจจะยังไม่เเนjใจว่าทำไม เเต่จริงๆเเล้วการวน loop เนี่ยเป็นสิ่งสำคัญเลยเพราะว่าเราสร้างคอมพิวเตอร์มาช่วยในการทุ้นเเรงคนในงานที่มีการทำหลายๆครั้ง ดังนั้น การใช้ loop จะช่วยให้วนหาคำตอบได้เเม้จะมีจำนวนการทำหลายๆครั้ง

ซึ่งในลักษณะการเขียน Loop มีได้หลายเเบบมาก
วันนี้เราจะมาบอกกันคร่าวๆนะ 

ดังต่อไปนี้


1) While 





เราจะทำเมื่อเงื่อนไขถูกต้อง เมื่อเข้า condition ที่เรากำหนดก็จะทำ variable ที่เรากำหนดไว้ เเละยังทำต่อไปจนผิดเงื่อนไขถึงหลุด loop


2) do while




ซึ่งจะเห็นว่า loop เเบบ  do while จะเช็คเงื่อนไขทีหลัง ซึ่งหมายถึงต้องเข้า loop ที่สั่งเเล้วค่อยเข้ามาตรวจสอบเงื่อนไขทีหลัง ซึ่งถ้าหากทำเเล้วไม่เข้าเงื่อนไขก็จะหลุดเลย การใช้งาน loop เเบบ do while จึงขึ้นอยู่ตามเเต่ละสถานการณ์ที่เราจะเลือกใช้


3) until



การทำงานเหมือน loop เเบบ do while เเต่เเตกต่างกันตรงที่จะทำซ้ำเมื่อเงื่อนไขไม่ถูกต้อง




4) do until



เหมือนการทำงาน loop เเบบ do while เปลี่ยนเป็นทำซ้ำเมื่อเงื่อนไขไม่ถูกต้อง



5) for loop





 for loop จะถูกเลือกใช้เมื่อเรารู้เเน่ชัดเเล้วว่าเราจะวนลูปจนถึงค่าเท่าไหร่ เเละจำเป็นต้องกำหนดว่าเราต้องการให้ค่าเปลี่ยนเเปลงเท่าไหร่ โดยถ้าเราต้องการให้วนลูปตั้งเเต่ 0 ถึง 10 จะทำได้ดังนี้





ซึ่งภาษา Ruby มีความพิเศษสามารถเขียน ค่าที่เราต้องการเปลี่ยนได้หลายหลายรูปเเบบมากกว่า for loop ในภาษาอื่นๆ
ดังตัวอย่างเช่น


เขียนจาก น้อยไปมาก



เขียนจาก มากไปน้อย






ตัวอย่างที่เราลองนำมาใช้




จบเเล้วนะค่าสำหรับการอธิบายเรื่อง loop ถ้าใครสนใจเรื่องต่อไปกดดูเรื่องต่อไปได้เล้ยยยยยย





วันศุกร์ที่ 31 มีนาคม พ.ศ. 2560

การรับค่าผ่านทางหน้าจอ

                สวัสดีค่ะ หลังจากบล็อกที่ผ่านมาเราได้ทำความรู้จักและ ทำความเข้าใจเกี่ยวกับการสร้างเงื่อนไขใน ภาษาRuby มาแล้ว ถ้าอย่างนั้นวันนี้เรามาลองเริ่มจากการรับค่าผ่านทางหน้าจอ ด้วยภาษา Ruby กันดีกว่า
               
การรับค่าผ่านทางหน้าจอด้วยภาษาRuby ประกาศง่ายมากเลย ก่อนอื่นเราต้องทำการประกาศตัวแปรมาตัวแปรนึงเพื่อ ที่จะนำมาเก็บค่า ดูตัวอย่างได้ในรูปด้านล่างนี้เลย



งั้นเรามาลองดูตัวอย่างโปรแกรมง่ายๆกันก่อนเลยดีกว่า
เมื่อเราลองนำโปรแกรมมารัน เราจะได้ผลออกมาแบบนี้


              ถ้าเราได้ลองการประกาศรับค่าแบบนี้แล้ว เราลองมาเขียนโปรแกรมเพื่อประยุกต์ใช้แบบง่ายๆกันดีกว่า ด้วยการใช้ความรู้จากบล็อคที่แล้วมาลองเขียนโปรแกรมกันดีกว่า 


       

โจทย์
ให้เขียนโปรแกรมเพื่อรับค่าคะแนนของเด็กนักเรียนผ่านทางหน้าจอ โดยถ้ามีคะแนนมากกว่าหรือเท่ากับ 50 คะแนน ให้ พิมพ์คำว่า
Pass ถ้าคะแนนต่ำกว่า 50 ให้พิมพ์คำว่า Fail

เรามาลองดูFlowchart เพื่อให้เข้าใจได้ง่ายสำหรับการทำงานของโปรแกรมกันก่อนเลยดีกว่า


             จากFlowchart จะเห็นได้ว่าโปรแกรมเริ่มต้นจากแสดงค่าทางหน้าจอถามว่า คะแนนของคุณคืออะไร จากนั้น ก็รับค่าคะแนนที่ได้มา นำมาเช็คเข้าเงื่อนไข ถ้าหากมากกว่าหรือเท่ากับ 50 ให้ทำการแสดงว่า “Pass” แต่ถ้าไม่ ให้แสดงว่า “Fail”
ต่อมา เรามาดูในส่วนของโปรแกรมกันเลยดีกว่า
มาถึงตรงนี้บางคนอาจจะสงสัยว่าในการรับค่า ทำไมเราต้องมีการเพิ่ม .to_i ไปที่ด้านหลังของ gets เนื่องจากการรับข้อมูลจากผู้ใช้ จะเป็นข้อความ (String) เพื่อเปลี่ยนจากข้อความให้เป็นตัวเลขที่เปรียบเทียบได้ จึงต้องใช้คำสั่ง .to_i ซึ่งย่อมาจาก .to_integer 


ผลจากการรันโปรแกรม


เห็นมั้ยคะว่าไม่ยากเลย งั้นเรามาลองทำอีกโจทย์กันเลยดีกว่าก่อนจากกันสำหรับ บล็อคนี้


โจทย์ ให้เขียนโปรแกรม เพื่อรับค่า X แล้วบอกว่าค่า X ที่รับมาเป็นเลขคู่หรือเลขคี่