ドキュメントによると、この形式でオブジェクトのプロパティを参照でき<object.property>
ます。これで文字列の長さをチェックできると思っていましたが、うまくいかないようです。メソッドがString.length()
_ _ _ _ Scala REPL のこのクイックチェックで確認しました:<mystr.length>
getLength()
length
length()
scala> import org.stringtemplate.v4._; import scala.collection.JavaConverters._;
import org.stringtemplate.v4._
import scala.collection.JavaConverters._
scala> new ST("<xs:{ x | <x>:<x.length> }>").add("xs", List("hello", "goodbye").asJava).render
res0: String = "hello: goodbye: "
scala> case class S(val s:String) { def getLength = s.length }
defined class S
scala> new ST("<xs:{ x | <x>:<x.length> }>").add("xs", List("hello", "goodbye").map(S).asJava).render
res1: String = "S(hello):5 S(goodbye):7 "
したがって、文字列にgetLength()
メソッドまたはlength
フィールドがあれば、それは機能します...
文字列の長さを取得する簡単な方法はありますか? たぶん、組み込みの StringTemplate 関数、または私が知らない他のメソッドですか?