উত্তর:
titleএকটি স্থানীয় পরিবর্তনশীল। এগুলি কেবল এটির সুযোগের মধ্যে বিদ্যমান (বর্তমান ব্লক)
@title একটি উদাহরণ পরিবর্তনশীল - এবং শ্রেণীর মধ্যে সমস্ত পদ্ধতির জন্য উপলব্ধ is
আপনি এখানে আরও পড়তে পারেন: http://strugglingwithruby.blogspot.dk/2010/03/variables.html
রুবেলে অন রুবেল - আপনার নিয়ামকটিতে আপনার ভেরিয়েবলগুলি উদাহরণ ভেরিয়েবল হিসাবে ঘোষণা করে ( @title) সেগুলি আপনার দর্শন উপলব্ধ করে।
@titleযখন আপনি চান যে আপনার ভেরিয়েবলটি আপনার দর্শনে উপলভ্য থাকে তখন আপনার নিয়ন্ত্রণকারীগুলিতে ব্যবহার করুন ।
ব্যাখ্যাটি হ'ল এটি @titleএকটি দৃষ্টান্ত পরিবর্তনশীল এবং titleএটি একটি স্থানীয় ভেরিয়েবল এবং রেলগুলি নিয়ামকগুলি থেকে দর্শনগুলির জন্য উপলব্ধ পরিবর্তনশীল করে makes এটি ঘটে কারণ টেমপ্লেট কোড (এরব, এইচএমএল, ইত্যাদি) বর্তমান নিয়ামকের উদাহরণের আওতায় কার্যকর করা হয়।
পার্থক্যটি ভেরিয়েবলের সুযোগে in @ রূপান্তরটি শ্রেণীর উদাহরণের সমস্ত পদ্ধতিতে উপলব্ধ।
সংক্ষিপ্ত উত্তর, আপনি যদি নিয়ামকের মধ্যে থাকেন এবং আপনার যদি ভেরিয়েবলটি দর্শনের জন্য উপলব্ধ করতে হয় তবে তা ব্যবহার করুন @variable।
দীর্ঘতর উত্তরের জন্য এটি ব্যবহার করে দেখুন: http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_classes.html
@variableএসকে রুবিতে ইনস্ট্যান্স ভেরিয়েবল বলা হয়। যার অর্থ আপনি ক্লাসের মধ্যে যে কোনও পদ্ধতিতে এই পরিবর্তনগুলি অ্যাক্সেস করতে পারবেন। [ক্লাসে সমস্ত পদ্ধতি জুড়ে]
@প্রতীক ছাড়াই ভেরিয়েবলগুলিকে স্থানীয় ভেরিয়েবল বলা হয় যার অর্থ আপনি কেবলমাত্র এই পদ্ধতিটিকেই অস্বীকার করবেন within স্থানীয় ক্ষেত্রের মধ্যে সীমাবদ্ধ।
ইনস্ট্যান্স ভেরিয়েবলের উদাহরণ:
class Customer
def initialize(id, name, addr)
@cust_id = id
@cust_name = name
@cust_addr = addr
end
def display_details
puts "Customer id #{@cust_id}"
puts "Customer name #{@cust_name}"
puts "Customer address #{@cust_addr}"
end
end
উপরের উদাহরণে @cust_id, @cust_name, @cust_addrবর্গ মধ্যে আরেকটি পদ্ধতিতে ব্যবহার করা হয়। তবে একই জিনিস স্থানীয় ভেরিয়েবলের সাথে অ্যাক্সেসযোগ্য হবে না।
ভেরিয়েবল স্কোপ কি সম্পর্কে একটি টিউটোরিয়াল ? কিছু বিশদ বেশ ভালভাবে উপস্থাপন করে, কেবল এখানে সম্পর্কিতটি বন্ধ করুন।
+------------------+----------------------+
| Name Begins With | Variable Scope |
+------------------+----------------------+
| $ | A global variable |
| @ | An instance variable |
| [a-z] or _ | A local variable |
| [A-Z] | A constant |
| @@ | A class variable |
+------------------+----------------------+
একটি স্থানীয় ভেরিয়েবল কেবল এটির আরম্ভের ব্লকের মধ্যে থেকে অ্যাক্সেসযোগ্য। এছাড়াও স্থানীয় ভেরিয়েবলটি ছোট হাতের অক্ষর (এজে) বা আন্ডারস্কোর (_) দিয়ে শুরু হয়।
এবং ইনস্ট্যান্স ভেরিয়েবল একটি উদাহরণ selfএবং এর সাথে শুরু হয় একটি @উদাহরণ ভেরিয়েবলও বস্তুর সাথে সম্পর্কিত। ইনস্ট্যান্স ভেরিয়েবলগুলি হ'ল আপনি যেমন .sendইত্যাদি পদ্ধতি প্রয়োগ করেন
উদাহরণ:
@user = User.all
@userউদাহরণ হিসেবে বলা যায় পরিবর্তনশীল
এবং ইউনিটায়ালাইজড ইনস্ট্যান্স ভেরিয়েবলের একটি মান রয়েছে Nil
@titleএবং এর মধ্যে পার্থক্য ব্যাখ্যা করবে title?
@titleবাtitle
@ ভেরিয়েবলগুলি স্থানীয় ভেরিয়েবলগুলি ব্যতীত উদাহরণ ভেরিয়েবল are
Http://ruby.about.com/od/variables/a/Instance-Variables.htm এ আরও পড়ুন