كيف يمكنني تعداد كافة المتغيرات المحددة في برنامج نصي رائع
سؤال
ولدي سيناريو رائع مع عدد غير معروف من المتغيرات في السياق في وقت التشغيل، كيف أجد كل منهم، وطباعة اسم وقيمة كل منها؟
المحلول
حسنا، إذا كنت تستخدم برنامج نصي بسيط (حيث لا تستخدم لك "مواطنه" الكلمة)، وسيتم تخزين المتغيرات التي تحدد في الربط ويمكنك الحصول عليهم مثل هذا:
foo = "abc"
bar = "def"
if (true) {
baz = "ghi"
this.binding.variables.each {k,v -> println "$k = $v"}
}
وأختام:
foo = abc
baz = ghi
args = {}
bar = def
وأنا لست على علم وسيلة سهلة لتعداد خلال متغيرات محددة مع الكلمة "صفر"، ولكن سأكون مشاهدة هذا السؤال باهتمام إلى معرفة ما إذا كان شخص آخر يعرف كيف.
نصائح أخرى
في الواقع، فإن الجواب تيد يعمل أيضا ل 'المتغيرات def'ed.
def foo = "abc" def bar = "def" if (true) { baz = "ghi" this.binding.variables.each {k,v -> println "$k = $v"} }
وعوائد
baz = ghi __ = [null, null, null] foo = abc _ = null bar = def
ولست متأكدا ما دلالة على _-المتغيرات، ولكن أنا متأكد من أنك يمكن أن تعمل من حولهم.
لا تنتمي إلى StackOverflow