كيف يمكنني تعداد كافة المتغيرات المحددة في برنامج نصي رائع

StackOverflow https://stackoverflow.com/questions/216484

  •  03-07-2019
  •  | 
  •  

سؤال

ولدي سيناريو رائع مع عدد غير معروف من المتغيرات في السياق في وقت التشغيل، كيف أجد كل منهم، وطباعة اسم وقيمة كل منها؟

هل كانت مفيدة؟

المحلول

حسنا، إذا كنت تستخدم برنامج نصي بسيط (حيث لا تستخدم لك "مواطنه" الكلمة)، وسيتم تخزين المتغيرات التي تحدد في الربط ويمكنك الحصول عليهم مثل هذا:

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

ولست متأكدا ما دلالة على _-المتغيرات، ولكن أنا متأكد من أنك يمكن أن تعمل من حولهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top