কেউ যদি একটি সাধারণ উদাহরণ দিয়ে এটি বর্ণনা করতে পারে তবে সহায়ক হবে?
এছাড়াও, এর parent.frame()
পরিবর্তে parent.env()
এবং বিপরীতে কোথায় ব্যবহার করা কার্যকর হবে ।
উত্তর:
parent.env
একটি পরিবেশ যা একটি বন্ধ (উদাহরণস্বরূপ, ফাংশন) সংজ্ঞায়িত করা হয়। parent.frame
এমন পরিবেশ যা থেকে বন্ধের আহ্বান জানানো হয়েছিল।
f = function()
c(f=environment(), defined_in=parent.env(environment()),
called_from=parent.frame())
g = function()
c(g=environment(), f())
এবং তারপর
> g()
$g
<environment: 0x14060e8>
$f
<environment: 0x1405f28>
$defined_in
<environment: R_GlobalEnv>
$called_from
<environment: 0x14060e8>
আমি নিশ্চিত নই যে কোনও নিখুঁত নশ্বর কখনই তাদের সত্যিকার অর্থে ব্যবহার করতে চান, তবে ধারণাগুলি এখানে বর্ণবাদী ক্ষেত্রটি বোঝার জন্য দরকারী
> f = function() x
> g = function() { x = 2; f() }
> h = function() { x = 3; function() x }
> x = 1
> f()
[1] 1
> g()
[1] 1
> h()()
[1] 3
বা রহস্যজনক 'ব্যাংক অ্যাকাউন্ট' উদাহরণে আর পরিচিতির উদাহরণে বিশদ বিবরণ বিভাগের প্রথম অনুচ্ছেদে ?parent.frame
বিষয়গুলি স্পষ্ট করা হতে পারে।
search()
পরিবেশগুলি আর-এ বিস্তৃত হয়, উদাহরণস্বরূপ, পথটি (প্রায়) পরিবেশে এক ভাইবোন -> পিতামাতার সম্পর্কের সাথে এক সাথে আবদ্ধ। কেউ কখনও কখনও env = new.env(parent=emptyenv())
প্রতীক চেহারা অবলম্বন করতে দেখেন - সাধারণত env[["x"]]
প্রথমে দেখতে পাবেন env
এবং তারপরে env
যদি খুঁজে না পাওয়া যায় তবে পিতামাতার কাছে। তেমনি, <<-
অ্যাসাইনমেন্টটি শুরুতে সন্ধান করে parent.env
। আর এ তুলনামূলকভাবে নতুন রেফারেন্স শ্রেণি প্রয়োগকরণ একটি উদাহরণ-নির্দিষ্ট পরিবেশ নির্ধারণ করতে এই ধারণাগুলির উপর নির্ভর করে যেখানে প্রতীক (উদাহরণ ক্ষেত্র এবং পদ্ধতি) পাওয়া যেতে পারে।