संभव डुप्लिकेट:
Ruby block and unparenthesized argumentsरूबी ब्लॉक विन्यास त्रुटि
मुझे यकीन है कि मैं इस सिंटैक्स त्रुटि समझ में नहीं हूँ। मैं रेलवे ऐप में कुछ फ़ाइल अपलोड प्रबंधित करने के लिए कैरियरवेव का उपयोग कर रहा हूं, और मुझे लगता है कि गलत तरीके से एक विधि में ब्लॉक को पास किया जा रहा है।
यहाँ Carrierwave Docs में उदाहरण है:
version :thumb do
process :resize_to_fill => [200,200]
end
यहाँ मैं क्या था है:
version :full { process(:resize_to_limit => [960, 960]) }
version :half { process(:resize_to_limit => [470, 470]) }
version :third { process(:resize_to_limit => [306, 306]) }
version :fourth { process(:resize_to_limit => [176, 176]) }
से काम नहीं होता, मैं syntax error, unexpected '}', expecting keyword_end
मिलता है। दिलचस्प बात यह पूरी तरह से निम्नलिखित काम करता है:
version :full do process :resize_to_limit => [960, 960]; end
version :half do process :resize_to_limit => [470, 470]; end
version :third do process :resize_to_limit => [306, 306]; end
version :fourth do process :resize_to_limit => [176, 176]; end
तो, मेरे सवाल है, मैं क्यों इस उदाहरण में do...end
नहीं बल्कि ब्रेसिज़ का उपयोग कर एक ब्लॉक पारित कर सकते हैं?
धन्यवाद!
यह [कोड ब्लॉक 'के लिए पारित each' कोष्ठक के साथ काम करता का डुप्लिकेट है लेकिन' do' साथ नहीं -'end' (रूबी)] (http://StackOverflow.Com/q/6718340/), [ब्लॉक परिभाषा - ब्रेसिज़ और 'do'-'end' के बीच अंतर?] (http://StackOverflow.Com/q/6179442 /), [रूबी मल्टीलाइन ब्लॉक 'do'' end' के बिना] (http://StackOverflow.Com/q/3680097/), ['do' ब्लॉक बनाम ब्रैकेट' {} '] का उपयोग करके (http: // StackOverflow.Com/q/2122380/), [रुबी में इन ब्लॉक कोडिंग शैलियों का अंतर या मूल्य क्या है?] (Http://StackOverflow.Com/q/533008/) और [रूबी ब्लॉक और अनपेक्षित तर्क] (http : //StackOverflow.Com/q/420147/)। –