ภาษารูบี

รูบี (อังกฤษ: Ruby) เป็นเป็นอินเทอร์พรีเตอร์ภาษาระดับสูงเชิงวัตถุ ที่ได้รับอิทธิพลของโครงสร้างภาษามาจาก ภาษาเพิร์ลกับภาษาเอดา มีความสามารถในเชิงวัตถุแบบเดียวกับภาษาสมอลทอล์ค และมีความสามารถหลายอย่างจากภาษาไพทอน, ภาษาลิสป์, ภาษา Dylan และภาษา CLU ตัวแปลภาษารูบีตัวหลักเป็นซอฟต์แวร์เสรี

รูบี
(Ruby)
ภาษารูบี
กระบวนทัศน์Multi-paradigm: functional, imperative, object-oriented, reflective
ผู้ออกแบบYukihiro Matsumoto
ผู้พัฒนาYukihiro Matsumoto และคณะ
เริ่มเมื่อค.ศ. 1995 (1995)
รุ่นเสถียร
3.3.1 แก้ไขบนวิกิสนเทศ / 23 เมษายน 2024
ระบบชนิดตัวแปรDuck, dynamic, strong
ภาษาโปรแกรมC
ระบบปฏิบัติการข้ามระบบปฏิบัติการ
สัญญาอนุญาตRuby License และ GPL
นามสกุลของไฟล์.rb
เว็บไซต์www.ruby-lang.org
ตัวแปลภาษาหลัก
Ruby MRI, TruffleRuby, YARV, Rubinius, MagLev, JRuby, MacRuby, RubyMotion, Mruby, IronRuby
ได้รับอิทธิพลจาก
เอดา, เพิร์ล, สมอลล์ทอล์ก, ไพทอน, ลิสป์, Dylan และ CLU
ส่งอิทธิพลต่อ
Clojure, CoffeeScript, Crystal, D, Elixir, Groovy, Ioke, Julia, Mirah, Nu, Ring, Rust, Swift

ประวัติ

ภาษารูบีสร้างโดย Yukihiro Matsumoto หรือ "Matz" ซึ่งเริ่มพัฒนาเมื่อ 24 กุมภาพันธ์ ค.ศ. 1993 และออกรุ่นแรกสู่สาธารณะใน ค.ศ. 1995 ชื่อ "รูบี" ที่แปลว่า ทับทิม นั้นเป็นหินประจำเดือนเกิดของเพื่อนร่วมงานของ Matsumoto โดยรูบีไม่ได้ตั้งใจตั้งชื่อล้อกับ Perl (แปลว่า ไข่มุก) ซึ่งเป็นหินประจำเดือนมิถุนายน ในขณะที่ทับทิมเป็นหินของเดือนกรกฎาคม

รุ่นล่าสุดคือรูบีคือ 2.2.1

ปรัชญา

ประเด็นหลักในการออกแบบภาษารูบีของ Matz คือการทำให้โปรแกรมเมอร์มีความสุขโดยการลดงานที่ไม่ต้องใช้ทักษะออกไป โดยเป็นไปตามหลักการของการออกแบบส่วนต่อประสานกับผู้ใช้ที่ดี[1] Matz เน้นว่าการออกแบบระบบควรให้ความสำคัญกับความจำเป็นของมนุษย์มากกว่าความจำเป็นของเครื่องคอมพิวเตอร์

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

กล่าวกันว่าภาษารูบีทำตามหลักการทำให้ประหลาดใจน้อยที่สุด (principle of least surprise; POLS) ซึ่งหมายความว่าภาษาปกติแล้วควรมีลักษณะที่สอดคล้องกับสัญชาตญาณหรือเป็นไปตามสมมุติฐานที่โปรแกรมเมอร์ได้คาดไว้ วลีนี้ไม่ได้มีที่มาจาก Matz แต่พูดกันทั่วไป วิถีทางของภาษารูบีอาจจะใกล้เคียงกับวลีว่า "การทำให้ Matz ประหลาดใจน้อยที่สุด" อย่างไรก็ตามโปรแกรมเมอร์หลายคนพบว่าการทำให้ Matz ประหลาดใจน้อยที่สุดก็ใกล้เคียงกับตัวแบบของจิตใจของพวกเขาด้วย

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

ตัวอย่าง

ตัวอย่างโปรแกรมภาษารูบีพื้นฐาน:

# ทุกอย่างซึ่งรวมทั้งตัวอักษรเป็น[วัตถุ] อีกทั้งการเรียกใช้เมธอดไม่จำเป็นต้องมีวงเล็บตามหลัง # ดังนั้นโปรแกรมเหล่านี้จึงทำงานได้:   -199.abs                                       # 199 "ruby is cool".length                          # 12 "Rick".index ("c")                              # 2 "Nice Day Isn't It?".split (//).uniq.sort.join  # " '?DINaceinsty" 

การเก็บรวบรวม

การเก็บรวบรวมโดยใช้แถวลำดับ:

a = [1, 'hi', 3.14, 1, 2, [4, 5]]  a[2]                      # 3.14 a.reverse                 # [[4, 5]], 2, 1, 3.14, 'hi', 1] a.flatten.uniq            # [1, 'hi', 3.14, 2, 4, 5] 

การเก็บรวบรวมโดยใช้แฮช:

hash = {'water' => 'wet', 'fire' => 'hot'} puts hash['fire']       # Prints:  hot  hash.each_pair do |key, value|    puts "#{key} is #{value}" end  # พิมพ์:             water is wet #                     fire is hot  hash.delete_if {|key, value| key == 'water'}   # ลบ 'water' => 'wet' 

อ้างอิง

2. http://thairuby.wordpress.com/[ลิงก์เสีย]

ดูเพิ่ม

แหล่งข้อมูลอื่น

Tags:

ภาษารูบี ประวัติภาษารูบี ปรัชญาภาษารูบี ตัวอย่างภาษารูบี อ้างอิงภาษารูบี ดูเพิ่มภาษารูบี แหล่งข้อมูลอื่นภาษารูบีซอฟต์แวร์เสรีภาษาลิสป์ภาษาสมอลทอล์คภาษาอังกฤษภาษาเพิร์ลภาษาเอดาภาษาโปรแกรมระดับสูงภาษาโปรแกรมเชิงวัตถุภาษาไพทอนอินเทอร์พรีเตอร์

🔥 Trending searches on Wiki ไทย:

รายชื่อค่ายทหารในสังกัดกองทัพบกไทยเปป กวาร์ดิโอลาจังหวัดบึงกาฬตลาดหลักทรัพย์แห่งประเทศไทยเปเอสเฟ ไอนด์โฮเฟินบาท (สกุลเงิน)สายัณห์ สัญญาจังหวัดสมุทรสาครฟุตซอลพายุสุริยะเจนนิเฟอร์ คิ้มฟุตซอลชิงแชมป์เอเชียอมีนา พินิจศุภศิษฏ์ จงชีวีวัฒน์การปฏิวัติสยาม พ.ศ. 2475สมาคมประชาชาติแห่งเอเชียตะวันออกเฉียงใต้สมเด็จพระราชินีนาถเอลิซาเบธที่ 2 แห่งสหราชอาณาจักรเจาะมิติพิชิตบัลลังก์รายชื่อตอนในอนิเมะเทพมรณะศรีรัศมิ์ สุวะดีรถถัง จิตรเมืองนนท์สมเด็จพระเจ้ากรุงธนบุรีเกาะกูดป๊อกเด้งรหัสโทรศัพท์ระหว่างประเทศสมเด็จเจ้าฟ้าฯ กรมพระศรีสวางควัฒน วรขัตติยราชนารีสมเด็จพระศรีพัชรินทราบรมราชินีนาถ พระบรมราชชนนีพันปีหลวงพระคเณศประเทศบังกลาเทศชาลิดา วิจิตรวงศ์ทองสืบ นาคะเสถียรอุรัสยา เสปอร์บันด์รถไฟฟ้าชานเมือง สายธานีรัถยาบรรดาศักดิ์ไทยรามาวดี นาคฉัตรีย์รายชื่อเขตของกรุงเทพมหานครบีบีซี เวิลด์นิวส์ตระกูลเจียรวนนท์ธนาคารทหารไทยธนชาตตะวัน วิหครัตน์โชกุน (ละครโทรทัศน์ปี 2024)กูเกิลซอร์ซมิวสิกนิพัทธ์ ทองเล็กชนิกานต์ ตังกบดีชาวมอญพงษ์สิทธิ์ คำภีร์ณัฐวิญญ์ วัฒนกิติพัฒน์จีเอ็มเอ็มทีวีจังหวัดกาฬสินธุ์อาณาจักรสุโขทัยพิศวาสฆาตเกมส์ภัทร เอกแสงกุลเทพมรณะมณี สิริวรสารธนาคารกรุงไทยรัมมี่ไฮบ์คอร์ปอเรชันประเทศอิหร่านลวรณ แสงสนิทข้าราชการไทยสโมสรฟุตบอลไบรตันแอนด์โฮฟอัลเบียนวันแอนแซกรายชื่อรัฐวิสาหกิจไทยพวงเพ็ชร ชุนละเอียดลุค อิชิกาวะ พลาวเดนประเทศมาเลเซียภาษาญี่ปุ่นสมศักดิ์ เทพสุทินราชสกุลวินทร์ เลียววาริณวรกมล ชาเตอร์แอน อรดีหลวงปู่มั่น ภูริทตฺโตตัวเลขโรมันข้าราชการพลเรือนสามัญยูเอสเอส ทีโอดอร์ โรเซอเวลต์ (CVN-71)สมาคมกีฬาโรมาภาคภูมิ ร่มไทรทอง🡆 More