テンプレートエンジンを書くのです その2

出張での移動中に暇つぶしがてらにループ処理を書いてみた


テンプレートの箇所はこんな感じ。

{for in range(1,10)}
	<li>loop_1</li>
{/for}


相変わらず力技のエンジン処理はこんな感じ

def fileRead(file_path):
   print file_path
   html = ""
   html_for = ""
   for_flag = False
   f = open(file_path, "r")
   for line in f:
       if re.compile("for ").search(line, 1):
           for_flag = True
       elif re.compile("/for").search(line, 1):
           for_flag = False
           for x in range(1,10):
               html += html_for
           html_for = ""
       elif for_flag == True:
           html_for += line
       else:
           html += line

   return html


ファイルを1行づつ読み込む事でループ箇所の判別はなんとか実現(ループ回数は決めうちだけど)しているものの、あまりやりたくなかった方式なので(テンプレート側にかなり制約が付くので)要改良


加えてループ条件の指定ができないのと、変数のアサインとの組み合わせが全然できていないので今後の課題とします。


。。。。まだまだダメダメですな