& डीबगिंग विकसित करते समय, कभी-कभी मैं चाहता हूं कि मैं 1-लाइनर लिख सकूं जो नामों को छोड़ देता है, प्रकार & चर के समूह के मान। समस्या यह है कि मुझे नहीं पता कि एक चर के नाम का उपयोग कैसे किया जाए, अगर मैं बिल्कुल भी कर सकता हूं।स्थानीय वैरिएबल का नाम प्राप्त करें
foo = 1
bar = "42"
baz = Hash.new
[foo, bar, baz].each do |v|
puts "#{v.???} = (#{v.class}) #{v}"
end
मैं इस कार्यक्रम के उत्पादन की मनचाही संख्या के लिए कुछ की तरह:
foo = (Fixnum) 1
bar = (String) 42
baz = (Hash) ...
मैं क्या ???
से ऊपर होना चाहिए पता नहीं है
यहाँ एक पहला प्रयास है। क्या यह किया जा सकता है?
आप अपने तर्क रिवर्स और ग्लेन समाधान के साथ जाना जा सका: http://stackoverflow.com/questions/58482/ruby-get-a-variables-name मेरे समझ है कि आप एक वेरिएबल का नाम नहीं मिल सकता है। – Pat
@Pat: यह प्रभावी रूप से लेवेन्टिक्स के समाधान के समान है, लेकिन विभिन्न वाक्यविन्यास के साथ। तो मुझे लगता है कि जवाब हाँ है। :) –
मुझे यकीन नहीं है कि उदाहरणकर्ता एकाधिक चर को संभाल सकता है, लेकिन उदाहरणकर्ता आपको 'शो (वेरिएबल)' कॉल करने की अनुमति देता है, आपको वैरिएबल और उसके मान का नाम देता है। http://github.com/quackingduck/exemplor –