سؤال

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

سأريد تضمين وظائف الرياضيات القياسية، بما في ذلك Trig، سجلات، الأسطر، إلخ.

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

المحلول

منذ لغتك بالنسبة لبرامج التعبيرات الرياضية، ستكون بالتأكيد أكثر أبسط من C #، وأظن أن أحاول إعادة استخدام فئات شجرة التعبير الإطارية لتمثيل ests الخاص بك ستكون مبالغة وربما وصفة للإحباط؛إذا نظرت إلى هذه الطبقات، سترى الكثير من الخصائص والوظائف التي ستكون غير ذات صلة تماما بلغة صغيرة.كنت لفة خاصة بك إذا كنت أنت.

نصائح أخرى

قد تكون قادرا على التعلم من هذا المشروع، وهناك دروس جيدة Aobut كيف تم صنعه

هل رأيت http://ncalc.codeplex.com ؟

قابل للتوسيع، سريع (E.G. لديه ذاكرة التخزين المؤقت الخاصة به) يمكنك من تقديم وظائف مخصصة و paribles في وقت التشغيل عن طريق التعامل مع عمليات التعامل معها وظيفي / تقييم الأحداث البرية. تعبيرات مثال يمكن تحليلها: التعبير E= تعبير جديد ("جولة (POW (PI، 2) + الأسرى ([PI2]، 2) + X، 2)")؛

e.parameters ["pi2"]= تعبير جديد ("PI * PI")؛ E.Parameters ["X"]= 10؛

e.eval التعليمية barmeter += مندوب (اسم السلسلة، Barameterargs Args) { إذا (الاسم=="PI") args.result= 3.14؛ }

debug.assert (117.07== e.eval الجامعي ())؛

يعالج أيضا Unicode & العديد من أنواع البيانات أصلا. يأتي مع ملف قرن الوعل إذا كنت ترغب في تغيير القاية. هناك أيضا شوكة تدعم MEF لتحميل وظائف جديدة.

فهو يدعم أيضا المشغلين المنطقيين أو سلاسل التاريخ / الوقت وإذا كانت البيانات.

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