คำถามติดแท็ก ruby

คำถามเกี่ยวกับภาษาทับทิม, ไดนามิก, ไตร่ตรอง, ภาษาการเขียนโปรแกรมเชิงวัตถุที่มุ่งเน้นทั่วไปที่รวมไวยากรณ์ที่ได้รับแรงบันดาลใจจาก Perl กับคุณสมบัติคล้าย Smalltalk

4
คุณคิดว่า GAE เพียงอย่างเดียวนั้นเพียงพอที่จะพิสูจน์การเรียนรู้ของ Python มากกว่า Ruby หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา เมื่อพิจารณาถึงความจริงที่ว่าคุณไม่จำเป็นต้องมีส่วนร่วมในการติดตั้ง / ซื้อเซิร์ฟเวอร์หรือแม้แต่ซื้อโดเมนคุณคิดว่าข้อเท็จจริงเพียงอย่างเดียวก็เพียงพอแล้วที่จะเลือกโดเมนอื่น ฉันไม่ต้องการทำงานกับ Google App Engine ฉันแค่พบว่าสะดวกเมื่อพูดถึงการโฮสต์ / สภาพแวดล้อม / ฯลฯ และสงสัยว่านั่นเป็นเหตุผลที่ดีพอที่จะเรียนรู้หลาม ไม่ว่าในกรณีใดฉันไม่ได้มองหาการถกเถียงระหว่างไพ ธ อนกับทับทิม แต่มีมากขึ้นใน Google App Engine และค่าของมันเพียงพอที่จะกำหนดภาษาที่คุณควรเรียนรู้หรือไม่

4
Ruby: if variable vs if variable.nil?
ฉันใหม่กับทับทิมและฉันรู้สึกประหลาดใจเมื่อฉันพบว่าวัตถุทั้งหมดเป็นจริงนอกเหนือจากศูนย์และเท็จ แม้แต่ 0 ก็จริง สิ่งที่ดีเกี่ยวกับคุณสมบัติของภาษานั้นคือคุณสามารถเขียน: if !variable # do stuff when variable is nil end เพื่อนร่วมงานของฉันซึ่งเป็นนักพัฒนาทับทิมรุ่นเก๋ามากขึ้นยืนยันว่าฉันควรเลือกสิ่งนั้นแทนที่จะใช้. ชอบมาก: if variable.nil? # do stuff when variable is nil end อย่างไรก็ตามฉันเชื่อว่าอันหลังเป็นตัวเลือกที่ดีกว่าด้วยเหตุผลสองประการ: 1. ฉันคิดว่ามันเป็นเชิงวัตถุมากกว่าโดยเฉพาะในภาษาอย่าง Ruby ซึ่งทุกอย่างเป็นการแลกเปลี่ยนวัตถุและข้อความ 2. มันสามารถอ่านได้มากขึ้นในความเห็นของฉันแม้ว่าจะมีขนาดเล็กลงก็ตาม ฉันกำลังทำผิดพลาด "มือใหม่" ที่นี่?

3
ฉันสามารถใช้ Ruby เพื่อทำให้ทุกอย่างเป็นอัตโนมัติได้หรือไม่
ฉันเผชิญกับแอพพลิเคชั่นหลายประเภท (บนเว็บ, อิง GUI, บรรทัดคำสั่ง ฯลฯ ) บนแพลตฟอร์มต่างๆ (Windows, Linux และอื่น ๆ ) เพื่อให้ทำงานได้ทุกวัน มีโอกาสที่ดีสำหรับฉันที่จะทำงานอัตโนมัติโดยการเขียนสคริปต์ แต่แอปพลิเคชันและแพลตฟอร์มเกือบทุกประเภทมีภาษาหรือเครื่องมือการเขียนสคริปต์ดั้งเดิม (เช่นVBScriptและPowerShellสำหรับ Windows, สคริปต์ Bash สำหรับ Linux, ซีลีเนียมสำหรับเว็บแอปพลิเคชันและAutoItสำหรับแอปพลิเคชัน GUI เป็นต้น) มันฆ่าฉันให้เรียนรู้และบำรุงรักษาภาษาสคริปต์มากมาย ฉันมีความรู้สึกว่าทับทิมสามารถทำงานร่วมกับแพลตฟอร์มต่าง ๆ ได้อย่างง่ายดายและเป็นสิ่งที่แสดงออกมาก ดังนั้นคำถามของฉันคือ: เป็นไปได้ไหมที่จะใช้ Ruby เพื่อเขียนสคริปต์ทุกอย่าง ถ้าเป็นเช่นนั้นข้อเสียเปรียบหลักเมื่อเปรียบเทียบกับภาษาสคริปต์ของแต่ละแพลตฟอร์มคืออะไร

7
มีใครบ้างที่เคยใช้ Python / Ruby และ PHP มาเป็นเวลานานและยังต้องการ PHP อีกหรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา ฉันมักจะหลงโดยบทความปกป้อง PHP และข้อโต้แย้งที่ใช้ บ่อยครั้งที่ผู้เขียนบทความประเภทนี้ไม่ได้กล่าวถึงประสบการณ์ที่พวกเขามีกับภาษาอื่น ๆ โดยส่วนตัวแล้วฉันคิดว่ามันยากที่จะจินตนาการว่าใครบางคนจะรู้จัก Python หรือ Ruby และ PHP ในระดับสูงและยังคงชอบ PHP ดังนั้นหากใครเหมาะกับคำอธิบายนี้ฉันจะสนใจที่จะฟังว่าทำไมคุณถึงชอบ PHP ในภาษาเหล่านี้

5
จะเป็นไรไหมถ้าฉันตัดสินใจเขียน Ruby ทั้งหมดของฉันราวกับว่าเป็น Haskell
ระบุว่า Ruby มีความสามารถในการดำเนินการรายการที่ดีในตัว - ลดแผนที่เลือกรวบรวม ฯลฯ มันมี Procs บล็อกและ Lambdas และมีการสนับสนุนการทำซ้ำที่ดี ( eachครอบครัว) มันจะเป็นการตัดสินใจที่ไม่ดีถ้าฉันพยายาม เขียนข้อมูล Ruby ทั้งหมดของฉันด้วยวิธีการที่บริสุทธิ์ที่สุด โดยเฉพาะอย่างยิ่งสำหรับโค้ดที่มี I / O น้อยหรือไม่มีเลย ฉันได้เรียนรู้ Haskell (เรียกว่าภาษาแฮ็กเกอร์ 'ของจริง') และฉันรักมันเป็นวิธีการทำสิ่งต่าง ๆ - ฉันรัก Ruby แต่คิดว่ามันน่าสนุกกว่าเดิมเมื่อวิญญาณ Haskell ไหลเข้ามา Ruby ยืม / เรียนรู้อะไรมากมายตั้งแต่แรก) ยินดีต้อนรับคำแนะนำที่สร้างสรรค์ ...


8
จะยุติการพึ่งพาของฉันบน. NET ได้อย่างไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ฉันพัฒนาแอพพลิเคชั่น Windows GUI มาหลายปีแล้วและกระโดดเข้าสู่. NET ในต้นปี 2548 .NET เป็นแพลตฟอร์มที่น่าทึ่งอย่างไม่ต้องสงสัยและฉันยังคงใช้มันอยู่ แต่ด้วยเทคโนโลยีที่หลากหลายฉันไม่ต้องการอยู่ต่อ ทุ่มเทให้กับค่ายนี้ ฉันต้องการเรียนรู้ภาษาใหม่ที่ฉันสามารถพัฒนาแอปพลิเคชัน GUI ฉันกำลังเรียนรู้ Ruby และเพิ่งติดตั้ง Python ฉันอ่านเกี่ยวกับ WxRuby ซึ่งเป็นกรอบสำหรับการพัฒนาแอพ Windows GUI ในทับทิม ฉันกำลังค้นหาเฟรมเวิร์กที่คล้ายกันสำหรับ Python นอกเหนือจากนั้นฉันต้องการทราบว่าภาษาใดเหมาะสมกว่าสำหรับแอป GUI ระดับการผลิต ฉันสงสัยว่า Ruby ให้ความสำคัญกับแพลตฟอร์มของเว็บมากกว่าเนื่องจาก Ruby on Rails ฉันรู้ว่าฉันอาจไม่ได้รับคลาส. NET เหล่านั้นและ Visual Studio …
10 python  ruby 

4
การปรับโครงสร้างใหม่ - เหมาะสมหรือไม่ที่จะเขียนรหัสใหม่อีกครั้งตราบใดที่การทดสอบทั้งหมดผ่าน?
ฉันเพิ่งดู"ทุกสิ่งเล็ก ๆ น้อย ๆ "จาก RailsConf 2014 ในระหว่างการพูดคุยนี้ Sandi Metz refactors ฟังก์ชั่นที่รวมถึงคำสั่ง if ซ้อนขนาดใหญ่: def tick if @name != 'Aged Brie' && @name != 'Backstage passes to a TAFKAL80ETC concert' if @quality > 0 if @name != 'Sulfuras, Hand of Ragnaros' @quality -= 1 end end else ... end ... …

1
ดูเหมือนว่าการเข้าร่วมของ Python จะไม่ได้มุ่งเน้นไปที่รายการที่จะเข้าร่วม แต่บนสัญลักษณ์เมื่อเทียบกับ Ruby หรือ Smalltalk ด้วยเหตุผลด้านการออกแบบ
ฉันคิดว่าหนึ่งในหลักสำคัญของ OOP คือเรามีวัตถุซึ่งเป็นรายการที่เราสนใจในการจัดการและจากนั้นเราส่งข้อความถึงพวกเขา ดังนั้นมันอาจดูเป็นธรรมชาติที่ฉันมีของสะสมและฉันจำเป็นต้องใส่มันเข้าไปในสายเดียวเพื่อที่จะทำมัน: ["x", "o", "o"].join(" | ") # joining a tic-tac-toe row in Ruby (Smalltalk ทำเช่นเดียวกัน) " | "เป็นในทางที่บางคนคิดว่าการเป็นอาร์กิวเมนต์หนึ่งสัญลักษณ์ของวิธีการที่จะเข้าร่วมได้ อาจเป็น" "เช่นเดียวกันหากบอร์ดเกมนั้นเรียบง่ายขึ้น ดังนั้นองค์ประกอบการเข้าร่วม" | "ไม่ใช่สิ่งที่เราสนใจโดยเฉพาะ - มันไม่ใช่วัตถุหลักในโปรแกรมที่มีความสำคัญหรือความสำคัญเป็นพิเศษ ถ้า Python ใช้งาน " | ".join(["x", "o", "o"]) มันรู้สึกค่อนข้างแปลกที่เกือบจะรู้สึกเหมือนว่าเรากำลังส่งข้อความไปยังการโต้แย้งเพื่อบอกข้อโต้แย้งเกี่ยวกับบางสิ่ง Python อาจจะเป็นขั้นตอนมากกว่านี้ใช่ไหม เพื่อบอกให้สายการเข้าร่วมทำหน้าที่ให้เราบ้างไหม? เป็นการบันทึกการนำไปปฏิบัติเพื่อที่เราจะได้ไม่ต้องกำหนดjoinคลาสสำหรับคอลเลกชั่นแต่ละคลาสที่เรามี? แต่มันไม่เป็นความจริงเลยที่เราสามารถเขียนคลาสคอลเลกชันใด ๆ ก็ได้เช่นใน Ruby: module Enumerable def my_join(joiner) self.inject …

4
การจัดการทรัพยากรที่ไม่ได้กำหนดไว้ว่าเป็นสิ่งที่เป็นนามธรรมหรือไม่?
จากสิ่งที่ฉันเห็นมีรูปแบบการจัดการทรัพยากรที่แพร่หลายอยู่สองรูปแบบคือการทำลายล้างที่กำหนดขึ้นและชัดเจน ตัวอย่างของอดีตจะเป็น destructors C ++ และตัวชี้สมาร์ทหรือย่อย DESTROY ของ Perl ในขณะที่ตัวอย่างหลังจะเป็นกระบวนทัศน์แบบบล็อกต่อการจัดการทรัพยากรของ Ruby หรืออินเทอร์เฟซ IDispose ของ. NET ภาษาที่ใหม่กว่าดูเหมือนจะเลือกใช้ในภายหลังซึ่งอาจเป็นผลข้างเคียงของการใช้ระบบรวบรวมขยะที่หลากหลายที่ไม่อ้างอิงการนับ คำถามของฉันคือ: เนื่องจาก destructors สำหรับสมาร์ทพอยน์เตอร์หรือระบบรวบรวมขยะอ้างอิง - เกือบจะเป็นสิ่งเดียวกัน - อนุญาตให้มีการทำลายทรัพยากรโดยปริยายและโปร่งใสมันเป็นสิ่งที่เป็นนามธรรมน้อยรั่วกว่าประเภทที่ไม่ได้กำหนดไว้ล่วงหน้า สัญกรณ์? ฉันจะยกตัวอย่างที่เป็นรูปธรรม หากคุณมีคลาสย่อย C ++ สามคลาสของซูเปอร์คลาสเดียวอาจมีการใช้งานที่ไม่ต้องการการทำลายที่เฉพาะเจาะจง บางทีมันอาจใช้เวทมนตร์ในอีกทางหนึ่ง ความจริงที่ว่ามันไม่ต้องการการทำลายพิเศษใด ๆ นั้นไม่เกี่ยวข้อง - คลาสย่อยทั้งหมดยังคงใช้ในลักษณะเดียวกัน ตัวอย่างอื่นใช้บล็อก Ruby คลาสย่อยสองคลาสจำเป็นต้องเพิ่มรีซอร์สดังนั้นคลาสคลาส opts สำหรับอินเตอร์เฟสที่ใช้บล็อกในตัวสร้างแม้ว่าคลาสย่อยย่อยอื่นอาจไม่ต้องการเนื่องจากมันไม่ต้องการการทำลายพิเศษ เป็นกรณีที่การรั่วไหลหลังรายละเอียดการใช้งานของการทำลายทรัพยากรในขณะที่อดีตไม่ได้หรือไม่ แก้ไข: การเปรียบเทียบสมมติว่า Ruby กับ Perl อาจมีความยุติธรรมมากกว่าเนื่องจากมีการทำลายล้างที่กำหนดและที่เหลือไม่ได้ แต่พวกเขาทั้งคู่เก็บขยะ

3
ฉันสามารถใช้อะไรแทนส่วนต่อประสานใน Ruby (หรือภาษาไดนามิกอื่น ๆ ) ได้บ้าง
เป้าหมายของฉันคือการกำหนดสัญญาระหว่างชั้นเรียน ฉันชอบการพิมพ์เป็ดและทั้งหมด แต่ฉันต้องการกำหนดอินเทอร์เฟซระหว่างเลเยอร์ต่าง ๆ ของแอปพลิเคชันของฉันเพื่อกำหนดอย่างชัดเจนซึ่งเป็นวิธีการโทรจากภายนอกและเป็นวิธีการเสริมที่เลเยอร์อื่นไม่ควรใช้ . ตัวอย่างเช่นใน Java ฉันสามารถกำหนดอินเตอร์เฟส Persistor ด้วยวิธีการเช่น get () และ save () จากนั้นกำหนดคลาส JdbcPersistor ด้วยวิธีการทั้งหมดที่ฉันต้องการเพื่อคงอยู่ในฐานข้อมูล และบางที RestPersistor อีกอันที่มีวิธีการอื่นสำหรับการบันทึกใน restserver ระยะไกล ฉันไม่ได้ขออินเทอร์เฟซใน Ruby เพียงเพื่อให้รู้ว่ามีวิธีที่เป็นระเบียบจะทำให้ความแตกต่างนี้หรือไม่ ฉันชอบทับทิม แต่ฉันทำงานเฉพาะในโครงการขนาดเล็กเท่านั้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.