[prev in list] [next in list] [prev in thread] [next in thread] 

List:       zope
Subject:    Re: [Zope] Calculations within a document
From:       Stephen Pitts <smpitts () midsouth ! rr ! com>
Date:       2000-02-19 17:04:57
[Download RAW message or body]

On Sat, Feb 19, 2000 at 01:12:49PM +0100, Boris Povazay wrote:
> Since I am a "Zope-Beginner" I am currently faced with some problems -
> maybe you can help me with these.
> 
> Declarations & type-conversions:
> How are variable-declerations done right within dtml?
> Like: float x;
> or: int x; float y;
> y=float(x);
> 
> Calculations:
> How are iterative calculations with variables done correctly in a
> dtml-Method?
> like: float x, 
> x=0;
> x=x+1
> 
> Especially the type-conversion puzzles me. I`ve read several Zope-docs,
> but I have still not figured out how to do this.
> 
> 

You can't create new variables DIRECTLY in DTML. The attitude of the DC
people is "if you are creating lots of variables and doing lots of
calculations you probably should be doing it in Python." However, you
can indirectly create new variables like this:
	<dtml-call "REQUEST.set('x', 1)">
creates an int called x
	<dtml-call "REQUEST.set('y', 1.0)">
creates a float called y

DTML uses Python variable semantics, so you might want to play around in
python a bit to get a feel for the variables:
>>> f = 1
>>> f / 3
0
>>> g = 1.0
>>> g / 3
0.333333333333

In this example, f is automatically typed as an integer, while g is
automatically typed as a float. You can override this by using the float
and int methods:
>>> float(f) / 3
0.333333333333
>>> int(g) / 3
0

From DTML, you can force x to be created as a float like this:
	<dtml-call "REQUEST.set('x', _.float(1))">
Notice the _.float call. Some python features are available to DTML
through the _ object, for more info check out:
http://www.zope.org/Documentation/Guides/DTML-HTML/DTML.5.3.2.3.html

I hope this has helped, if you have any further questions feel free to
reply.
-- 
Stephen Pitts
smpitts@midsouth.rr.com
webmaster - http://www.mschess.org

_______________________________________________
Zope maillist  -  Zope@zope.org
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic