मुझे लगता है कि, नीचे उबला हुआ एक सिनात्रा एप्लिकेशन, इस तरह मूल रूप से दिखता है:एक मॉड्यूलर sinatra आवेदन के कॉन्फ़िगर ब्लॉक से कॉल करने के लिए एक विधि को परिभाषित करने के लिए कैसे?
class MyApp < Sinatra::Base
configure :production do
myConfigVar = read_config_file()
end
configure :development do
myConfigVar = read_config_file()
end
def read_config_file()
# interpret a config file
end
end
दुर्भाग्य से, यह काम नहीं करता। मुझे undefined method read_config_file for MyApp:Class (NoMethodError)
read_config_file
में तर्क गैर-तुच्छ है, इसलिए मैं दोनों में डुप्लिकेट नहीं करना चाहता हूं। मैं एक विधि को कैसे परिभाषित कर सकता हूं जिसे मेरे कॉन्फ़िगरेशन ब्लॉक दोनों से बुलाया जा सकता है? या क्या मैं पूरी तरह गलत तरीके से इस समस्या का सामना कर रहा हूं?
शानदार! यह काम करता है। अब मुझे यह पता लगाने के लिए एक रूबी किताब पढ़नी है कि 'def methodname' और' def self.methodname' के बीच क्या अंतर है, जो मेरे लिए नया वाक्यविन्यास है। – Seldo