javascript - Variable name and restrict operators in math.js -


मैं गुम समापन कोष्ठक या डुप्लिकेट ऑपरेटर्स आदि से गणितीय समीकरण को मान्य करने के लिए उपयोग कर रहा हूं, ताकि निम्नलिखित को ग़लत समीकरण:

  9 + ((5 * 6) // 12  

यह ठीक काम करता है। मैं ऐसा करने की कोशिश कर रहा हूं कि यह समीकरण में एक वैरिएबल नाम की अनुमति देता है, जैसे:

  9 + (variableName * 6) / 12   

वैरिएबल नाम भी एक जैसा होना चाहिए। इसलिए, सत्यापनकर्ता को यह जानना होगा कि यह अभिव्यक्ति में "व्हेरिएबल" नाम की खोज में ठीक है।

मैं भी चाहता हूं अनुमोदित समीकरण ऑपरेटर को केवल निम्नलिखित पर रोकें:

  () - + / *  

मैंने दस्तावेज में उन सवालों के जवाब खोजने की कोशिश की लेकिन कोई भाग्य नहीं।

क्या किसी को पता है कि यह कैसे गणित.जेएस में किया जा रहा है?

< Div class = "post-text" itemprop = "text">

आप math.js के साथ क्या कर सकते हैं एक नोड पेड़ में एक अभिव्यक्ति पार्स है:

  var tree = math.parse ('9 + (चर नाम * 6) / 12');  

math.js के वर्तमान संस्करण के साथ आप फ़ंक्शन ढूंढें (undocumented, देखें) फ़ंक्शन का उपयोग करके पेड़ का विश्लेषण कर सकते हैं। मैथ। जेएस के अगले संस्करण में traverse और transform के रूप में अधिक व्यापक (और दस्तावेज) समर्थन होगा, जिससे आप आसानी से सभी नोडों पर लूप कर सकते हैं। पेड़ और कुछ करो।

इन कार्यों के साथ आप उदाहरण के लिए सभी प्रतीक प्रतीकों को ढूंढ सकते हैं और जांच सकते हैं कि उन्हें अनुमति है या नहीं, और सभी ऑपरेटर नोड ढूंढें और जांचें कि क्या उन्हें अनुमति है या नहीं।

वैकल्पिक रूप से, आप अपना खुद का पार्सर प्रयोग कर सकते हैं या।

संपादित करें: मैथ। जेएस का नवीनतम संस्करण अब आधिकारिक तौर पर अभिव्यक्ति के पेड़ों पर आपरेशनों का समर्थन करता है, दस्तावेज़ीकरण देखें:


Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

python - Calculate STD manually using Groupby Pandas DataFrame -

java - @PluginTarget(Node.class) not registering as neo4j plugin -