Considering the above post (simple calculator), then in the sidebar you can 
try this

<$edit-text tiddler="temp/calculation" tag="input"/><$macrocall 
$name=calculator input={{temp/calculation}}/>

It will give you a simple binary operations calculator!
If a parser using regexp is developed to parse (expression like 12 + 36*56 
/36 +96) then you have a simple sidebar calculator!



On Tuesday, October 22, 2019 at 8:59:41 AM UTC+3:30, Mohammad wrote:
>
> 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/a566e4a7-0828-49db-91e7-7082180520ea%40googlegroups.com.

Reply via email to