लंबी कहानी छोटी, मैं एक विधि लिख रहा था जिसमें एक विकल्प तर्क शामिल था, जो कुछ सामान करेगा कुंजी के लिए मूल्य: यदि, सही मूल्यांकन किया गया। जब मैं नई सिंटैक्स का उपयोग आईआरबी में हैश की कोशिश कर रहा आईआरबी में एक सिंटैक्स त्रुटि है, शीघ्र रहता खोलें:आईआरबी - रुबी 1.9.एक्स हैश सिंटैक्स: {if: true} के बराबर नहीं है {: if => true}
1.9.3p374 :010 > {if: true}
1.9.3p374 :011?>
वर्ष वाक्य रचना का उपयोग करना, काम करता है ठीक:
1.9.3p374 :011 > {:if => true}
=> {:if=>true}
सभी कीवर्ड कि एक बयान शुरू करें, वही व्यवहार प्रदर्शित करें। जैसे def
, do
, module
, कि बीच में पाए जाते हैं case
अन्य आरक्षित शब्द और class
काम ठीक: else
, end
मेरे सवाल यह है: यह अपेक्षित व्यवहार, एक बग या एक सीमा है?
'irb' थोड़ा नाजुक है और इसमें उचित मात्रा में मस्तिष्क क्षति है, आप शायद उनमें से कुछ देख रहे हैं। –
@muistooshort जो बहुत निराधार लगता है। 'echo' रखता है {if: true} .inspect '> test.rb; ruby test.rb' रिटर्न: 'test.rb: 1: वाक्यविन्यास त्रुटि, अप्रत्याशित ':' 'किस फैशन में' irb' नाजुक है? – nzifnab
@nzifnab इरब को 'अंत' तक कथन के निष्पादन पर रोकना है, और यदि यह एक नियंत्रण ऑपरेटर को गलत व्याख्या करता है (जैसा कि यह यहां करता है) इसके लिए अतिरिक्त समस्याएं अनूठी हैं। – coreyward