這是一個FreePlane Groovy代碼。 任務是提取節點詳細信息並將其轉換爲整數,如果詳細信息爲空(空)或非數字,則將其保留爲1。最初,節點詳細信息僅包含純文本佈局中的「4」。FreePlane節點詳細信息提取和鑄造
這裏是我的代碼:
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)values:[4]行號:-1Result:沒有方法的簽名:org .freeplane.plugin.script.proxy.Proxy $ NodeRO.toNumber()是適用於參數類型:(java.lang.String中)的值:[4]線-1"
提前致謝。
我已經解決了這個問題:我不得不使用node.details.getPlain()方法獲取文本,然後使用.toInteger()方法獲取數字。 無論如何,謝謝。 – user3036878