هل هناك ما يعادل رائع لطريقة مصدر بيانشيل ()؟

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

  •  08-07-2019
  •  | 
  •  

سؤال

ولقد جابت ثيقة رائع ولم يتم العثور على التماثلية، ولكن الأمور هناك يتم تنظيم قليلا جزافا. أنا التحول من بيانشيل لرائع وكان يستخدم المصدر ( "fileloc") طريقة في بيانشيل إلى مضمنة تشمل غيرها، والمرافق بيانشيل البرامج النصية لإعادة استخدامها. هل هناك وظيفة القياسية للقيام بذلك في رائع أو أفضل الممارسات؟

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

المحلول

ويمكنك تجميع كل أجزاء من البرامج النصية في سلسلة، وبعد ذلك كائن GroovyShell تقييم البرنامج النصي. وقد اخترت هذا ارتفاعا من الأمثلة DSL فينكات Subramanium ل.

part1 = new File("part1.groovy").text
part2 = new File("part2.groovy").text

script = """
println "starting execution"
${part1}
${part2}
println "done execution"
"""

new GroovyShell().evaluate(script)

نصائح أخرى

والسبب كنت لا تجد هذا لأنه يتم تجميع رائع. يحصل ترجمة التعليمات البرمجية رائع الخاص بك إلى بايت كود جافا التي يحصل تديرها JVM الحق جنبا الى جنب مع أي رمز جافا في التطبيق الخاص بك. هذا هو السبب في أشياء مثل كتابة Groovified وحدة الاختبارات للهيئات كبيرة من التعليمات البرمجية جافا تتطلب جهدا إضافيا الصفر.

ووبيانشيل هو مثل جافا <م> تفسير اللغة، لذلك الالتهام في بلد آخر حصلت من التعليمات البرمجية في وقت التشغيل ليس صفقة كبيرة.

وقال ذلك، قد تكون مهتمة في groovysh والقيادة load لها .

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