Hi A Gloom This is a variation of your simple macro. People with regex knowledge can write simpler and better parser to use TW math operators for a wikitext calculator.
\define calc(ops, operation) <$list filter="[<__input__>splitbefore[$ops$]removesuffix[$ops$]]" variable=a> <$list filter="[<__input__>removeprefix<a>removeprefix[$ops$]]" variable=b> <$list filter="[<a>$operation$<b>]" variable=result> <<result>> </$list> </$list> </$list> \end \define calculator(input) <$vars pattern="^\d+\s?[\+\-\*\/]\s?\d+$"> <$list filter="[<__input__>regexp<pattern>]" variable=ignore emptyMessage="Wrong input"><!--check input --> <$list filter="[<__input__>search[+]]"> <<calc ops:+ operation:add>> </$list> <$list filter="[<__input__>search[-]]"> <<calc ops:- operation:subtract>> </$list> <$list filter="[<__input__>search[*]]"> <<calc ops:* operation:multiply>> </$list> <$list filter="[<__input__>search[/]]"> <<calc ops:"/" operation:divide>> </$list> </$list> </$vars> \end !! Examples ``` <<calculator 123+365>> <<calculator 123-365>> <<calculator 123*365>> <<calculator 123/365>> <<calculator 4+3>> ``` will produce <<calculator 123+365>> <<calculator 123-365>> <<calculator 123*365>> <<calculator 123/365>> <<calculator -4>> 488 -242 44895 0.336986301369863 Wrong input On Tuesday, October 22, 2019 at 4:35:33 AM UTC+3:30, A Gloom wrote: > > \define ragscalculator2(cnumb1,copera,cnumb2) > <$list filter=[[$cnumb1$]$copera$[$cnumb2$]]><<currentTiddler>></$list> > \end > > <<ragscalculator2 (1st number) (math operator) (2nd number)>> > > > ragscalculator2 : : macro name > (1st number) : first number of your math equation > (math operator) : the math operation you want preformed > for + : use "add" > for - : use "subtract" > for x : use "multiply" > for รท : use "divide" > (2nd number) : second number of your math equation > > > <<ragscalculator2 2 subtract 2>> > > > produces just the solution to the equation/a number > > > 0 > > > Can be expanded for more numbers/equation steps and using the other math > filter operators Tiddlywiki provides (abs, add, ceil, divide, exponential, > fixed, floor, max, maxall, min, minall, multiply, negate, precision, > product, remainder, round, sign, subtract, sum, trunc, untrunc) > > As with the calculator tiddler, the macro can be used with variables for > input from other sources. > > > <ragscalculator $(num1variable)$ $(operatorvariable)$ $(num2variable)$>> > > -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/de6fd31e-14af-44f1-82c3-ac9b49f8f871%40googlegroups.com.

