2010-09-17 19 views
6

मैं सी ++ और जावा से आया हूं, जिसमें स्कोप के साथ या तो वैश्विक या स्थानीय है।रूबी इंस्टेंस वैरिएबल स्कोप प्रश्न

अब मैं रूबी-ऑन-रेल सीख रहा हूं और रूबी के साथ स्थानीय, उदाहरण और वैश्विक है। मैंने अभी तक वास्तव में उदाहरण के बारे में कभी नहीं सुना है।

रेल के साथ या बिना, आवृत्ति परिवर्तक की समझ और उपयोग क्या है?

Global = Variable across all objects share 
Instance = Variable inside of the object 
Local = Variable inside of the object 

मुझे लगता है कि मुझे उदाहरण मिल रहा है और स्थानीय प्रकार एक साथ मिश्रित हो रहा है।

@ham 
ham 

ये दो अलग-अलग चर सही हैं? कभी-कभी मैं रेल में उलझन में पड़ता हूं क्योंकि वे सामानों को एक दूसरे से बदलते हैं और कुछ: कुछ। ऐसा क्यों है?

क्योंकि मैं रेल फ्रेमवर्क का उपयोग करता हूं, मैं समझता हूं कि आवृत्ति चर कुछ ऐसा है जो दृश्य द्वारा सुलभ है।

क्या कोई इन चर को स्पष्ट कर सकता है?

class MyObject 
    def set_x(x) 
    @x = x 
    end 

    def get_x 
    @x 
    end 
end 

समतुल्य जावा कोड:

class MyObject { 
    private Object x; 

    void setX(Object x) { 
     this.x = x; 
    } 

    Object getX() { 
     return x; 
    } 
} 

और स्थानीय चर बस केवल इस विशेष के भीतर एक चर पहुँचा जा सकता है रूबी में

उत्तर

6

उदाहरण चर जावा में एक, वस्तु राज्य का हिस्सा की तरह है विधि:

def doIt 
    x = 3; 
    # x not accessible from outside of doIt 
    puts x 
end 

void doIt() { 
    int x = 3; 
    // same in Java 
    System.out.println(x); 
} 

संपादित
ऑब्जेक्ट स्टेटस का क्या मतलब है?

MyObject o = new MyObject(); 
o.setX(3); 
// integer 3 is now stored in variable 'x' of object 'o' 
// I can return any time later and get that value back by 'o.getX()' 
+0

आप वस्तु राज्य से क्या मतलब है? – RoR

2

कॉलन (: कुछ) वाले लोग प्रतीक हैं।

http://glu.ttono.us/articles/2005/08/19/understanding-ruby-symbols

+0

-1 प्रश्न का उत्तर नहीं देता है। –

+0

लेकिन मैंने ये बताया कि ये क्या हैं: प्रतीक नहीं हैं कि वह किस बारे में पूछ रहा है (चर) – Namek

संबंधित मुद्दे