论坛首页 Java企业应用论坛

Jet - Jaskell Server Page

浏览 21749 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-03-09  
引用
这种冲突可能性很小。就算出现,直接hide java method就完了。为了这么个虚无飘渺的原因就搞出一个特殊的语法来,觉得粉不值。

无语……这么霸道的框架,这样来看,每一次我写value.myField,还要胆战心惊的去查查看这个框架有没有这个myField内置函数,哦,没有,万幸……嘿,框架升级了,增加了更多的内置函数,又要来心惊胆战一次……恩,还不是一次,恐怕还要把整个项目的代码全部翻一遍,谁知道哪个地方用到了与内置函数同名的field
引用

至于受体?动作,主体.动作,不过是说法不同,从语言语义上没区别。
"abc".toLowerCase()是主体还是受体?
"abc"?lower_case是主体还是受体?

受体?动作
主体.动作
这里只是为了说明在freemarker中,?与.反映到java code的情况下,对象是属于调用主体还是作为参数的关系,不是要咬文嚼字。一就是一,二就是二,不存在说法不同
0 请登录后投票
   发表时间:2006-03-09  
lllyq 写道

无语……这么霸道的框架

要这么说,你连java也别用了。在java里面,不能定义一个和某个instance方法相同签名的静态方法,那么也是霸道的框架了?
无符号数都没有,更加霸道。
操作符不能重载,简直霸道到极点。

我记得java justify这些抉择的理由是:
1。这些东西不是那么有用
2。没有它们语言会简单很很多。

习惯是个很强的理由了已经。不必要拿一些牵强的理由为了习惯辩护。
lllyq 写道

引用

至于受体?动作,主体.动作,不过是说法不同,从语言语义上没区别。
"abc".toLowerCase()是主体还是受体?
"abc"?lower_case是主体还是受体?

受体?动作
主体.动作
这里只是为了说明在freemarker中,?与.反映到java code的情况下,对象是属于调用主体还是作为参数的关系,不是要咬文嚼字。一就是一,二就是二,不存在说法不同

回答问题:
"abc".toLowerCase()里面的"abc"在你的哲学里面是主体还是受体?
0 请登录后投票
   发表时间:2006-03-09  
ajoo 写道
lllyq 写道

无语……这么霸道的框架

要这么说,你连java也别用了。在java里面,不能定义一个和某个instance方法相同签名的静态方法,那么也是霸道的框架了?
无符号数都没有,更加霸道。
操作符不能重载,简直霸道到极点。

习惯是个很强的理由了已经。不必要拿一些牵强的理由为了习惯辩护。
lllyq 写道

引用

至于受体?动作,主体.动作,不过是说法不同,从语言语义上没区别。
"abc".toLowerCase()是主体还是受体?
"abc"?lower_case是主体还是受体?

受体?动作
主体.动作
这里只是为了说明在freemarker中,?与.反映到java code的情况下,对象是属于调用主体还是作为参数的关系,不是要咬文嚼字。一就是一,二就是二,不存在说法不同

回答问题:
"abc".toLowerCase()里面的"abc"在你的哲学里面是主体还是受体?

咳,使我不对,用词引起误会,这样说吧
在freemarker中
value.string 对应的java code 是 value.getString()
value?string 对应的java code是 fmUtil.getString(value)
0 请登录后投票
   发表时间:2006-03-09  
引用
这样来看,每一次我写value.myField,还要胆战心惊的去查查看这个框架有没有这个 myField内置函数,哦,没有,万幸……嘿,框架升级了,增加了更多的内置函数,又要来心惊胆战一次……恩,还不是一次,恐怕还要把整个项目的代码全部翻一遍,谁知道哪个地方用到了与内置函数同名的field

嗯,嗯。versioning确实是个问题。是我考虑不周。
不过这个?还是太丑,而且很容易让人误会是逻辑判断什么的。为什么不用"->",感觉漂亮很多。

还有,freemarker method和built-in有什么区别?为什么要存在这两个东西?还是说只是两种调用语法,实际上都是一样的?
0 请登录后投票
   发表时间:2006-03-09  
freemarker主要就下面4样东西
${} 输出
<# /> 内置宏
<@ /> 自定义宏
? 以自身作为参数调用内置函数 (Built-in)

其中,自定义宏可嵌套。准确说没有这个freemarker method的说法,可以看作内置宏吧。
0 请登录后投票
   发表时间:2006-03-09  
http://fmpp.sourceforge.net/freemarker/dgui_datamodel_method.html
0 请登录后投票
   发表时间:2006-03-09  
ajoo 写道
http://fmpp.sourceforge.net/freemarker/dgui_datamodel_method.html


at the above page
引用
Suppose that programmers have put the method variable


and at this page
http://fmpp.sourceforge.net/freemarker/dgui_template_exp.html#dgui_template_exp_methodcall

引用
For example, assume the programmers have made available a method variable called repeat. You give a string as the first parameter, and a number as the second parameter, and it returns a string which repeats the first parameter the number of times specified by the second parameter.

  
${repeat("What", 3)} 

自定义的java函数
0 请登录后投票
   发表时间:2006-03-09  
什么意思?为什么不是obj.repeat(..),而是repeat(..),不象java函数啊。
0 请登录后投票
   发表时间:2006-03-09  
刚才特别试验了一下,才知道freemarker支持method作为变量,当然也可以传递到macro中去。

例如有
obj.someMethod(......),

<#assign xxx=obj.someMethod>
${xxx(......)}
0 请登录后投票
   发表时间:2006-03-09  
明白了。

不过还是不喜欢这个?语法。

jaskell 0.9开始,支持"->"语法。

freemarker的name?html可以写成name->html。感觉舒服些。

当然,这纯粹是语法美观问题。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics