قابلة لإعادة الاستخدام حالة / دروس التعبير

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

  •  08-07-2019
  •  | 
  •  

سؤال

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

واحتياجات النموذجية هي:  - عدة عوامل: وأو غيرها  - عدد متغير من المعاملات  - الجمع بين الظروف لبناء التعبيرات  - التسلسلية من التعبيرات  - الاعراب / تنسيق العبارات من / إلى سلاسل

لقد وجدت شخص ما شيئا من هذا القبيل؟

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

المحلول

ونلقي نظرة على أباتشي العموم Functor . مثلا UnaryPredicate و <لأ href = "http://commons.apache.org/sandbox/functor/apidocs/org/apache/commons/functor/core/composite/UnaryAnd.html" يختلط = "نوفولو noreferrer"> UnaryAnd و <لأ href = "http://commons.apache.org/sandbox/functor/apidocs/org/apache/commons/functor/core/composite/UnaryOr.html" يختلط = "نوفولو noreferrer"> UnaryOr، وما إلى ذلك بنيت تطبيقات -في هي تسلسل، ولكن أنا لا أعرف عن تحليل من السلاسل. ومع ذلك، أعتقد أنها بداية جيدة جدا تجاه ما تريد. أيضا، نلقي نظرة على هذا البرنامج التعليمي IBM واستنادا إلى المكتبة.

نصائح أخرى

وولا يبدو وكأنه قد تكون تبحث عن المنفذون (ويعرف أيضا باسم الأجسام وظيفة). إذا كان الأمر كذلك، وهذا يشكك SO ستكون ذات الصلة، بخصوص. الخيارات: العموم functor (التي سبق ذكرها) هي بديل واحد ولكن هناك آخرين أيضا

جميع يبس functor تأتي مع الإطار (والذي هو بسيط جدا، أحادي، المسندات الثنائية، وظائف رسم الخرائط لأولئك، والجمع من تسلسل). ومجموعة أساسية من الوظائف المطلوبة الأكثر شيوعا

وهذا يبدو وكأنه كنت تبحث عن شيء مثل السبات معايير API . العيب هو أنك ترتبط بقاعدة بيانات أو حتى أسوأ محددة للتنفيذ الإطار المثابرة. كما أنها لا تغطي جميع متطلبات لك، لذلك أنا لا أعتقد أن هذا هو خيار جيد ثم ...

وأنت قد ترغب في التحقق من ANTLR .

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