ओपन सोर्स रूबी प्रोजेक्ट्स

मैंने हाल ही में रुबी का अध्ययन करना शुरू कर दिया है, और सप्ताहांत में जेफ की सलाह के बदले ...

  1. सिद्धांत बंद करना।
  2. बहुत सारे सॉफ़्टवेयर लिखें।
  3. अपनी गलतियों से सीखें।

... ओपन सोर्स कम्युनिटी की प्रक्रिया में मदद करते हुए मुझे अपने कौशल को सम्मानित करने में दिलचस्पी थी, इसलिए मैंने सोचा कि मैं पूछूंगा कि अगर किसी को रूबी में लिखे गए शांत / रोचक ओपन सोर्स प्रोजेक्ट्स के बारे में कोई सुझाव है जो आप जानते हैं या इसमें शामिल हैं।

0
जोड़ा संपादित
विचारों: 1

13 उत्तर

मेरा खुद का विचार निम्नलिखित के कुछ सबसेट के आसपास घूमता है:

- अनुक्रम के लिए एक संयोजन परिभाषा खोजें, और देखें कि जब आप थोड़ा आगे बढ़ते हैं तो यह समझ में आता है।

- यदि आप एक खाली कार्य करने की कोशिश कर रहे हैं (उदाहरण के लिए खाली बोर्ड को टाइल करना, या खाली सेट पर परिभाषित कार्यों की गणना करना), तो आप इसे बिल्कुल एक ही तरीके से कर सकते हैं। आपके अधिकांश उदाहरण इस वर्ग के अंतर्गत आते हैं, जिसमें ^ 0 (खाली सेट पर परिभाषित फ़ंक्शंस), 0 शामिल हैं! (खाली सेट पर विभाजन), एफ_1 (एक खाली बोर्ड टाइलिंग), और किसी भी समूह के प्रत्यक्ष उत्पाद की कार्डिनालिटी (प्रत्येक वर्ग से एक ऑब्जेक्ट चुनना, इसलिए प्रत्यक्ष उत्पाद पहचान होना चाहिए)।

- एक खाली राशि 0 के बराबर है, एक खाली उत्पाद 1 के बराबर है। (फिर 0 समूहों के प्रत्यक्ष उत्पाद की कार्डिनालिटी 1 होना चाहिए)।

0x0 मैट्रिक्स के निर्धारक के बारे में क्या? खैर, यह एक 0 तत्व से खाली उत्पाद के सभी क्रमपरिवर्तनों पर एक योग है। योग (खाली कार्य) में एक तत्व है, और इसका एक खाली उत्पाद है, इसलिए 1 होना चाहिए।

मुझे वास्तव में पता नहीं है कि इसके बारे में एक कठोर कथन है, या अगर कोई रास्ता नहीं है तो यह अनुक्रम को परिभाषित करने के दो संयोजन तरीकों से आत्म-विरोधाभास में आ सकता है, लेकिन ऐसा लगता है कि यह जाना स्वाभाविक है।

6
जोड़ा
पूनेन ने दावा किया, और मैं सहमत हूं कि 0x0 मैट्रिक्स का निर्धारक 1 के बराबर होना चाहिए। विचार करें कि जब आप नाबालिगों द्वारा 1x1 मैट्रिक्स के निर्धारक का विस्तार करने का प्रयास करते हैं तो क्या होता है।
जोड़ा लेखक Qiaochu Yuan, स्रोत
हां, मैं बस उस पर पुनर्विचार कर रहा था ... ऊपर फिर से स्पष्टीकरण देखें।
जोड़ा लेखक Kevin P. Costello, स्रोत

अपने उदाहरणों को देखते हुए, आप सकारात्मक पूर्णांक पर परिभाषित मनमानी कार्यों को शून्य करने के लिए एक वैधानिक तरीके से नहीं पूछ रहे हैं। इसके बजाए, आप ऐसे फ़ंक्शंस ले रहे हैं जिनके इनपुट सेट हैं और पूछ रहे हैं कि कुछ इनपुट खाली होने पर उन्हें परिभाषित किया जा सकता है या नहीं। जब तक आपके अनुक्रम सकारात्मक पूर्णांक पर परिभाषित किया गया है, तब तक इस अतिरिक्त संरचना से लैस है, आपको स्वाभाविक रूप से इसे विस्तारित करने में बहुत अधिक परेशानी नहीं होनी चाहिए। यदि आप एक असंगठित अनुक्रम से शुरू करते हैं, तो दूसरे पर एक विस्तार का पक्ष लेने के कारण कमजोर हो जाते हैं (उदाहरण के लिए, कोल्मोगोरोव जटिलता)।

Here's the standard example of a sequence that extends to zero in different ways: the sequence that is identically zero on the positive integers. One extension is the zero function. Other extensions interpret the sequence as n -> k 0n for some nonzero k.

संयोग से, आपको पीआई <�सब> 0 को परिभाषित करने के लिए अपनी जगह पर आधार बिंदु चुनना होगा। एक बार आपके पास यह हो जाने के बाद, यह आपकी जगह पर एस 0 से दिशानिर्देशित मानचित्रों के होमोटॉपी कक्षाओं का सेट है। समान रूप से, यह पथ घटकों का (बिंदु) सेट है। इसमें प्राकृतिक समूह संरचना नहीं है (हालांकि यह हो सकता है कि आपकी जगह किसी प्रकार के रचना कानून के साथ आती है)।

3
जोड़ा
@LSpice मैंने लिखा है कि लगभग छह साल हो गए हैं, लेकिन मुझे लगता है कि मेरा कहना है कि उच्च होमोटॉपी समूहों को इनपुट के रूप में बिंदुओं की आवश्यकता होती है, इसलिए यदि आप $ \ pi_n की परिभाषा को स्वाभाविक रूप से विस्तारित करके $ \ pi_0 $ को परिभाषित करना चाहते हैं $ n> 0 $ के लिए $, आपको इनपुट के रूप में एक पॉइंट स्पेस होना चाहिए। आप निश्चित रूप से $ \ pi_0 $ को परिभाषित करने के लिए स्वतंत्र हैं।
जोड़ा लेखक ricree, स्रोत
रुको, क्यों एक आधार बिंदु की अनुपस्थिति में भी $ \ pi_0 $ परिभाषित नहीं किया जा सकता है (एक 'बेयर' $ \ mathrm T_1 $ space, या जो भी $ \ mathrm टी $ axiom बंद बिंदु देता है, एक बिंदु सेट नहीं) ?
जोड़ा लेखक LSpice, स्रोत
काफी उचित। मैंने सोचा कि आपका मतलब था कि "संग्रह (पथ/पथ) घटकों के संग्रह" में कुछ गड़बड़ थी।
जोड़ा लेखक LSpice, स्रोत

आयाम एन (आर कम्यूटेटिव) के एक मुफ्त आर-मॉड्यूल के एंडोमोर्फिज्म एफ का निर्धारक आर $ में $ डी \ है, जैसे $ \ bigwedge ^ n f $ अनुपात डी की होमोथीटी है। हमारा मामला $ n = 0 $ से मेल खाता है, और $ \ bigwedge ^ 0 f $ आर की पहचान है, इसलिए डी = 1।

कारणों को पहले से ही दिया गया है, क्यों 0 ^ 0 = 1 (एम ^ एन कार्डिनलिटी एन के सेट से कार्डिनलिटी मीटर के सेट से फ़ंक्शंस की संख्या है) और 0! = 1 (n! सेट के विभाजनों की संख्या है कार्डिनालिटी एन), बेज के विचारों को चित्रांकन के रूप में गिनने के चित्रों के चित्र हैं।

2
जोड़ा

पहले तीन के लिए, आप एक पुनरावृत्ति परिभाषित कर सकते हैं। पीछे की बारिश चलाएं।

Also, 0! = Γ(1) = int_0^\infty e^(-t) = 1 ; here there's nothing special about 0. (But Γ isn't defined for nonpositive integers.)

1
जोड़ा

यह लंगड़ा लग सकता है, लेकिन मैं कहूंगा कि आप जिस अनुक्रम की परवाह करते हैं उसके गुणों को देखें, और यदि आप इसे परिभाषित कर सकते हैं तो वे गुण अभी भी (एक्सपोनेंट नियम, रिकर्सन, सार्वभौमिक गुण ...) रखते हैं, फिर आप करते हैं । कम से कम मैं कल्पना नहीं कर सकता कि इससे अधिक सामान्य उत्तर है।

0 ^ 0 के बारे में, मैं कहूंगा कि 0 ^ 0 = 1 बेहतर "बीजगणितीय रूप से काम करता है", तब से आप अभी भी 0 ^ 0 = 0 ^ (- 0) = 1/(0 ^ 0) लिख सकते हैं, और 0 ^ 0 = 0 ^ (0 + 0) = (0 ^ 0) * (0 ^ 0)।

0
जोड़ा
मेरे पास परिभाषाओं पर उपयोगितावादी दृष्टिकोण है: वे तर्कों को कम करने के लिए हैं। तो जो भी गुण आपको अपने तर्क को कम करने की अनुमति देता है वह "दाएं" हैं। यह स्पष्ट रूप से आपके द्वारा किए जा रहे गणित के प्रकार पर निर्भर करता है, और आप इसे कैसे कर रहे हैं, लेकिन मुझे नहीं लगता कि यह निर्भरता टालना है।
जोड़ा लेखक Anonymous User, स्रोत
यह लंगड़ा भी हो सकता है, लेकिन आप कैसे जानते हैं कि आप सही गुणों को देख रहे हैं?
जोड़ा लेखक Qiaochu Yuan, स्रोत
काफी उचित। मुझे ऐसा लगता है कि आपने सार्वभौमिक गुणों का उल्लेख किया है, क्योंकि इस प्रश्न की मेरी प्रतिक्रिया मूल रूप से "तब तक वर्गीकृत होती है जब तक यह स्पष्ट न हो जाए कि क्या करना है।" उदाहरण के लिए, किसी श्रेणी में शून्य चीजों का उत्पाद टर्मिनल ऑब्जेक्ट है और शून्य चीजों का प्रजनन प्रारंभिक ऑब्जेक्ट है।
जोड़ा लेखक Qiaochu Yuan, स्रोत

मुझे लगता है कि यदि आप एक नई भाषा सीखने का प्रयास कर रहे हैं तो उस भाषा में कुछ मजा करो।

मैंने बहुत से वेब मकड़ियों और छोटे खिलौने लिखकर पाइथन सीखा और रूबी के लिए मैं बिल्कुल वही रास्ता लेता। इनपुट की आवश्यकता वाले एक परियोजना को खोजने के बजाय भाषा के लिए एक महसूस करने के लिए कुछ छोटी निजी परियोजनाएं करें। आप कुछ पहले कुछ महीनों में कई उदाहरण और अन्य लोगों के कोड को पढ़कर कुछ और करके कुछ सीखकर सीखते हैं।

रूबी जैसी एक भाषा इस तरह से संरचित होती है कि आप बिना किसी समर्थन के बॉक्स के बाहर कुछ उत्पादक सीधे कर सकते हैं, इसलिए सही तरीके से कूदें और सोचें कि आपको किसी और के लिए कुछ प्रयोग करना है, एक नई भाषा।

रूबी के साथ मजा करो, यह मेरे साथ खेलने के लिए चीजों की मेरी छोटी सूची पर है :)

0
जोड़ा

For a pointed space (X,p), the nth homotopy group πn(X,p) is usually defined as the group of maps of the n-sphere which take (1,0,...,0) to p, modulo homotopy-rel-basepoint. What's potentially weird is that S0 is disconnected, whereas Sn is connected for n>0. But then π0(X) just counts the number of path components of X. Of course, it doesn't have a group structure because S0 isn't a cube with its boundary identified; this is anomalous.

On the other hand, this corresponds perfectly with the other characterization of homotopy groups I've seen, where π0(X,p) is defined to be the set of path components of X, and then πn(X,p) is inductively defined as the "loop space" of πn-1(X,p), i.e. the group of homotopy classes of loops starting and ending at the basepoint (rel basepoint, of course), with composition defined simply as composition of loops.

So, while in neither setup is π0(X,p) a group, I think this is as well-defined as it's going to get. As far as I know, only in the setting of Lie groups is there a natural way to put a group structure on the path components (just take G/G0, where G is the Lie group and G0 is the path component of the identity).

0
जोड़ा
यकीन है कि पर्याप्त!!!!
जोड़ा लेखक NotMyself, स्रोत
चिकनीपन की कोई ज़रूरत नहीं है; किसी भी केवल टोपोलॉजिकल समूह $ जी $, $ \ pi_0 (जी) $ के लिए एक प्राकृतिक स्थलीय समूह संरचना है।
जोड़ा लेखक LSpice, स्रोत

खैर, आपने रेल निर्दिष्ट नहीं किया है, इसलिए मैं वहां जूते फेंकने जा रहा हूं। सबसे पहले, जूते के ऐप्स बनाना शायद रूबी सीखने का सबसे अच्छा तरीका है (रेल बहुत बढ़िया है, लेकिन मुझे रूबी को और अधिक मजेदार / उपयोगी बनाने में मदद मिलती है)। दूसरा, जबकि मुझे निश्चित रूप से नहीं लगता कि बिल्डिंग क्रॉसप्लेटफार्म यूआई घटकों में मामूली है, जूते अपेक्षाकृत नए हैं, और अपेक्षाकृत छोटे हैं। इसमें कोई संदेह नहीं है कि अनगिनत जोड़ों को बनाया जा सकता है।

0
जोड़ा
जवाब में शूज़ का लिंक पुराना है। इस लिंक को आजमाएं
जोड़ा लेखक DL Redden, स्रोत

ओपन सोर्स प्रोजेक्ट में शामिल होने के बजाय, एक खुजली ढूंढें जिसे आप खरोंच करना चाहते हैं।

मुझे अपनी पहली वर्ष एक भाषा के साथ मिलती है लगभग हमेशा कोड फेंक देती है (या कम से कम, यह चाहिए होना चाहिए)।

एक समस्या खोजें जिसे आप व्यक्तिगत रूप से हल करना चाहते हैं। ऐसा करने के लिए रूबी का प्रयोग करें। आप बहुत कुछ सीखेंगे।

0
जोड़ा

Rubyforge पर सक्रिय प्रोजेक्ट शुरू करने के लिए एक बेहतरीन जगह है। एक अच्छा स्टार्टर प्रोजेक्ट क्या होगा जो बहुत लोकप्रिय है लेकिन डेवलपर्स नहीं है।

यदि आप रूबी पर रूबी में रूचि रखते हैं, तो मैं अभी Redmine पर काम कर रहा हूं। यह सबसे सक्रिय परियोजनाओं में से एक रहा है और केवल 5 डेवलपर्स हैं। ओपन सोर्स रेल में भी परियोजनाओं का एक अच्छा संग्रह है।

मुझे एक Refactotum शुरू करने का एक शानदार तरीका मिल गया है एक प्रोजेक्ट। इस तथ्य का प्रयोग करें कि आप अपने लाभ के लिए नए हैं, ज्यादातर लोग जो परियोजना पर हैं, मणि निर्भरताओं और दस्तावेज़ीकरण जैसी साधारण चीजों को भूल जाते हैं

0
जोड़ा

कुछ ओपन सोर्स प्रोजेक्ट्स के लिए github पर चारों ओर देखें। कुछ और लोकप्रिय परियोजनाएं हैं:

लोकप्रिय फोर्कड सूची देखें और आपको शायद कुछ ऐसा दिखाई देगा जो आपकी रूचि रखता है।

0
जोड़ा

छोटे खेल लिखने के बारे में कैसे? अपने आप को एक RubyGame प्राप्त करें और कुछ सरल गेम बनाकर शुरू करें। एक Tetris, एक सांप, कुछ वास्तव में सरल बनाओ। यह बहुत मजेदार है, और आप भाषा के बारे में बहुत सी बुनियादी बातें सीखेंगे।

0
जोड़ा
यदि आप मैक ओएस एक्स 10.8 पर हैं और RubyGame पर विचार करना सुनिश्चित करें कि यहां पहले पढ़ना सुनिश्चित करें ।
जोड़ा लेखक Barjavel, स्रोत

^ 0 और 0 ^ बी पर विचार करके, मुझे लगता है कि आप क्या कर रहे हैं इसके आधार पर 0 ^ 0 0 या 1 को परिभाषित करना उचित लगता है। बेशक आप तर्क दे सकते हैं कि इस कारण से आपको 0 ^ 0 को परिभाषित नहीं करना चाहिए।

इसे प्रश्न 2 के जवाब के रूप में धोखाधड़ी माना जा सकता है, हालांकि मैं वास्तव में दो अलग-अलग तरीकों से एन ^ 2 से (0,0) के लिए मानचित्र का विस्तार कर रहा हूं।

0
जोड़ा
प्रैक्टिस में वास्तव में उपयोगी कब होता है, 0 ^ 0 को बराबर 1 सेट करने के लिए?
जोड़ा लेखक Grant, स्रोत
मैं निम्नानुसार तर्क दूंगा। यदि आप एक संयोजक हैं जो 0 को स्वीकार करते हैं! = 1, आप स्वीकार करते हैं कि खाली सेट से स्वयं का एक विभाजन है, इसलिए आप स्वीकार करते हैं कि खाली सेट से स्वयं एक फ़ंक्शन है, इसलिए आपको 0 ^ 0 = 1 स्वीकार करना चाहिए।
जोड़ा लेखक Qiaochu Yuan, स्रोत