Thread Rating:
  • 379 Vote(s) - 2.79 Average
  • 1
  • 2
  • 3
  • 4
  • 5
マクロ DE 文字列を扱うのが・・・
10-14-2011, 01:55 PM, (This post was last modified: 10-14-2011, 01:57 PM by nasuB.)
#1
マクロ DE 文字列を扱うのが・・・
お久しぶりです。

マクロに関して奮闘中です。

nasuマクロの引数で、Identifierを受け取り、
それをoutputに文字列として渡すというマクロを作りました。

Code:
{define-macro public {nasu
                       ?v:identifier
                     }
    def l = {Literal v.name}
    {return {expand-template {output ?l}}}
}


このとき、{nasu BBB}は動くのですが、{nasu BBB.BBB}とすると
”.”がOperandとして認識されるようで、動かなくなったので、
?v:identifierを?v:expressionにしてみました。

Code:
{define-macro public {nasu
                        ?v:expression
                     }
    def l = {Literal {v.get-text}}
    {return {expand-template {output ?l}}}
}

ところが、BBB.BBBはLiteralとして扱えないようで、これも駄目だす。

そこで、トリッキーな感じで、messageでごまかそうと思いましたが、

Code:
{define-macro public {nasu
                        ?v:expression
                      }
    {return {expand-template {output {message ?v}}}}
}

これまたNG出されました!!!

だれか、ぷりーず・へるぷみー。。

マクロ難しい・・・・。

- B


Messages In This Thread
マクロ DE 文字列を扱うのが・・・ - by nasuB - 10-14-2011, 01:55 PM
Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('306')