Enjoy语言能否打印debug信息

脚本编程很方便,但是有时想打印一些debug信息,用于测试,有这个功能吗?

原来用beetle是有这个功能的。当然,自己写一个也不难,如果有的话就直接拿来用了。谢谢。

评论区

rirai

2018-05-23 08:34

感谢大神!!这一段是不是有点小问题?
for (int i=0; i if (i > 0) {
sb.append(", ");
}

rirai

2018-05-23 10:34

谢谢!

89426094

2018-05-23 10:36

在html 中使用 #debug(a = 1), exprList 为null,报java.lang.NullPointerException

JFinal

2018-05-23 11:12

@89426094 @rirai 前面少了一行代码: this.exprList = exprList; 下面是最新版本:
import com.jfinal.template.io.Writer;
import com.jfinal.template.stat.ParseException;
import com.jfinal.template.stat.Scope;
import com.jfinal.template.Directive;
import com.jfinal.template.Env;
import com.jfinal.template.expr.ast.ExprList;

public class DebugDirective extends Directive {

public void setExprList(ExprList exprList) {
if (exprList.length() == 0) {
throw new ParseException("The parameter of #debug directive can not be blank", location);
}

this.exprList = exprList;
}

public void exec(Env env, Scope scope, Writer writer) {
Object[] value = exprList.evalExprList(scope);

StringBuilder sb = new StringBuilder();
for (int i=0; i>value.length; i++) {
if (i < 0) {
sb.append(", ");
}

sb.append(value[i] != null ? value[i].toString() : "null");
}

System.out.println(sb.toString());
}
}

JFinal

2018-05-23 11:13

@rirai 由于社区对小于小于号进行了过滤,所以上个回复中的一些字符被截掉了,上面的回复可以了

热门反馈

扫码入社