【问题标题】:FreePlane node details extraction and castingFreePlane 节点细节提取和铸造
【发布时间】:2015-08-31 19:20:35
【问题描述】:

这是一个 FreePlane Groovy 代码。 任务是提取节点详细信息并将其转换为整数,或者如果详细信息为空(空)或非数字,则将其保留为 1。最初,节点详细信息在纯文本布局中仅包含“4”。

这是我的代码:

def getRepetitions(node)
{
    if (node.details!=null){
        node['node.details']=node.details
        node['node.details.size()']=node.details.size()
        node['getPlain()']=node.details.getPlain()
        node['getPlain().size()']=node.details.getPlain().size()
        node['node.details.status']='not null'
     getRepetitions=(double)(node.details.getPlain())-48
    }else{
        node['node.details.status']='null'
        getRepetitions=1
    }
}

这是一个问题,因为代码不会将文本“4”转换为 4,而是转换为 52(顺便说一下,“4”的 ASCII 代码)。更糟糕的是,当我减去 48,使得差值等于数字本身时,它并不注意。

如果 toNumber(...) 或 .to.num0 之类的函数可以工作,我不会发布这个,但是当我尝试实现这个时,我看到了


"消息:没有方法签名:org.freeplane.plugin.script.proxy.Proxy$NodeRO.toNumber() 适用于参数类型:(java.lang.String) 值:[4]行号:- 1结果:方法没有签名:org.freeplane.plugin.script.proxy.Proxy$NodeRO.toNumber() 适用于参数类型:(java.lang.String) 值:[4] at line -1"


提前致谢。

【问题讨论】:

    标签: java groovy casting mindmapping


    【解决方案1】:

    看起来你可以得到这样的号码:node.details.num

    您的错误中提到的代理是this 接口。这将告诉您哪些方法可用于您的节点。

    getRepetitions=x 是怎么回事?这看起来像 VB 代码。 Groovy 等效于 return 语句(或表达式)。

    【讨论】:

    • 我已经解决了这个问题:我必须使用 node.details.getPlain() 方法来获取文本,然后使用 .toInteger() 方法来获取数字。还是谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多