変換関数
ObjectScript には、いくつかの変換関数が用意されています。$Translate は文字列の中の 1 つ以上の文字を、異なる文字に置換します。また、文字列から文字を削除します。$Replace は $Translate と似ていますが、$Replace の場合 2 番目と 3 番目の引数が文字のリストではなく完全な文字列として扱われます。大文字と小文字の変換、単語の大文字化などの一般的なタスク用として、ObjectScript には $ZConvert が用意されています。また、空白、句読点、およびその他のタイプの文字を削除する場合は、$ZStrip があります。
VS Code - ObjectScript
Class ObjectScript.Examples
{
ClassMethod Conversions()
{
write !, "abcde becomes: ", $translate("abcde", "ad", "yz") // translate a->y, and d->z
write !, "abcde becomes: ", $translate("abcde", "ad", "zz") // translate a->z, and d->z
write !, "abcde becomes: ", $translate("abcde", "ad", "z") // translate a->z, and d->nothing
write !, "abcdebcbc becomes: ", $translate("abcdebcbc", "abc", "yz") // translate a->y, b->z, and c->nothing
write !, "abcdebcbc becomes: ", $replace("abcdebcbc", "abc", "yz") // replace abc->yz
read !, "String to translate: ", x
set lower = "abcdefghijklmnopqrstuvwxyz"
set upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
write !, "Using $translate: ", $translate(x, lower, upper)
write !, "Using $zconvert: ", $zconvert(x, "U")
write !, "Using $zconvert for capitalizing words: ", $zconvert(x, "W")
write !, "Using $zstrip to remove whitespace: ", $zstrip(x, "*W")
}
}
ターミナルを使用したテスト
USER>do ##class(ObjectScript.Examples).Conversions()
abcde becomes: ybcze
abcde becomes: zbcze
abcde becomes: zbce
abcdebcbc becomes: yzdezz
abcdebcbc becomes: yzdebcbc
String to translate: the quick brown fox jumps over the lazy dog
Using $translate: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
Using $zconvert: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
Using $zconvert for capitalizing words: The Quick Brown Fox Jumps Over The Lazy Dog
Using $zstrip to remove whitespace: thequickbrownfoxjumpsoverthelazydog
USER>