[Notes/Domino] Join を数値フィールドに対して使用するとエラーになる場合がある
前回は Split の問題点を記載しましたが、Join にも問題があります。まぁこちらは仕様どおりの動作ではあるのですが、ちょっと解りづらいというか不親切というか。
問題が発生するのは、以下の条件をすべて満たす場合です。
- 数値フィールドから取得した値に対して使用した場合
- 取得した値が複数値でない場合
- Get系のメソッドで取得した文書から取得した値の場合(DocumentContextではどうも発生しないっぽい)
上記のケースでは、配列の要素が Double 型となってしまいます(複数値の場合は Variant になります)。Join は Variant か String の配列しか処理できないため、エラーとなるわけです。なんて解りづらい…… 😥
解決策としては、Join は使用しないで、自前関数を作るしかないかもしれません(解決策になってませんが、Variant か String しか扱えないというのも不便ですし、作ってしまったほうがよいかも)。フィールド値を一律で処理しているようなスクリプトで Join を使ってしまうと、潜在的なバグになってしまう可能性があるため、くれぐれもご注意を。
コメント
コメントはありません
※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。