[python] konstanty

Petr Prikryl Prikryl na skil.cz
Čtvrtek Srpen 21 13:04:29 CEST 2003


michal napsal...
> [...] konstanty, ve kterych jsem mel vsechny hlasky, 
> co program v pripade problemu chrlil na uzivatele. Pokud
> jsem pak nejakou chtel zmenit, upravil jsem jen obsah 
> urciteho makra nebo konstanty na JEDNOM miste a hotovo.
> Jde mi o to, abych nemusel delat pripadne opravy na ruznych mistech
> zdrojaku, ale pouze na jednom miste, kde budou akumulovany vsechny
> hlasky...

V C(++) bych asi volil zápis hlášek do textového souboru spolu
s vhodnými identifikátory hlášek. Pokud bych to chtěl mít
natvrdo zakompilované do programu, pak bych použil asi zmíněné
řetězcové konstanty.

V Pythonu se nabízí totéž. Což takhle vytvořit svůj 
modul hlášek nazvaný například msg.py:
==============================================
# -*- coding: cp1250 -*-

msg = {

'id1': u'Moje první hláška',
'id2': u'Moje druhá hláška',

'id3': u'''Moje třetí
víceřádková
ssss
xxxx
hláška''',

'fileNotExists': u'Soubor %s neexistuje.'  

}
==============================================

Ten pak můžu používat třeba takto:

C:\tmp>python
Python 2.3 (#46, Jul 29 2003, 18:54:32) [MSC v.1200 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import msg
>>> print msg.msg['id1']
Moje první hláška
>>> m = msg.msg
>>> print m['id1']
Moje první hláška
>>> print m['fileNotExists'] % 'xxx'
Soubor xxx neexistuje.

-- 
Petr Prikryl (prikrylp at skil dot cz) 



Další informace o konferenci Python