Skip to content

API len ja

Codex edited this page Oct 3, 2026 · 1 revision

len

API · BASIC

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

ASC · Chr · len · StrComp

ClassicUO • Runtime API

文字列や数値の文字列表現の長さを確認します。

正確な構文

len(value:Decimal) -> Integer
len(value:Integer) -> Integer
len(value:String) -> Integer

パラメーター

  • value — String、Integer、Decimal。数値は言語に依存しない形式になり、符号と小数点も数えます。

戻り値

UTF-16 コード単位数を Integer で返します。空文字列は 0。絵文字は 2 の場合があり、結合文字も別に数えます。数値はメモリサイズではなく文字列長です。Array には GetArrayLength を使います。

動作

  • サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。
  • バイト、ピクセル、見た目の字形は数えません。切り詰めはサロゲートペアを分割する場合があるため、短縮例は ASCII を使います。

内部関数:呼び出しから結果まで

String では Length、数値では固定カルチャで整形してから Length を読みます。元の値は変わりません。

1. InternalSubrutines.Len

String では Length、数値では固定カルチャで整形してから Length を読みます。元の値は変わりません。

UTF-16 コード単位数を Integer で返します。空文字列は 0。絵文字は 2 の場合があり、結合文字も別に数えます。数値はメモリサイズではなく文字列長です。Array には GetArrayLength を使います。

プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InternalSubrutines.cs; 関数 InternalSubrutines.Len.

バイト、ピクセル、見た目の字形は数えません。切り詰めはサロゲートペアを分割する場合があるため、短縮例は ASCII を使います。

使用例

ラベルを短縮する

# ラベルを短縮する
#
# 文字列や数値の文字列表現の長さを確認します。
#
# UTF-16 コード単位数を Integer で返します。空文字列は 0。絵文字は 2 の場合があり、結合文字も別に数えます。数値はメモリサイズではなく文字列長です。Array には
# GetArrayLength を使います。

SUB Main()
    # ASCII 5 文字と点 3 個で LongC...、長さ 8 になります。
    # サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

    Dim label = "LongCharacterName"
    If Len(label) > 8 Then
        Return Left(label, 5) & "..."
    End If
    Return label
END SUB

パラメーターと実行の説明:

  • ASCII 5 文字と点 3 個で LongC...、長さ 8 になります。
  • サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

空設定を拒否する

# 空設定を拒否する
#
# 文字列や数値の文字列表現の長さを確認します。
#
# UTF-16 コード単位数を Integer で返します。空文字列は 0。絵文字は 2 の場合があり、結合文字も別に数えます。数値はメモリサイズではなく文字列長です。Array には
# GetArrayLength を使います。

SUB Main()
    # Trim が空白を除き、Len は 0、Main は missing を返します。
    # サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

    Dim setting = Trim("   ")
    If Len(setting) = 0 Then
        Return "missing"
    End If
    Return setting
END SUB

パラメーターと実行の説明:

  • Trim が空白を除き、Len は 0、Main は missing を返します。
  • サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

長さを区別する

# 長さを区別する
#
# 文字列や数値の文字列表現の長さを確認します。
#
# UTF-16 コード単位数を Integer で返します。空文字列は 0。絵文字は 2 の場合があり、結合文字も別に数えます。数値はメモリサイズではなく文字列長です。Array には
# GetArrayLength を使います。

SUB Main()
    # 絵文字は 2、符号付き -125 は 4。結果は 2|4 です。
    # サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

    Dim symbol = Chr(0x1F600)
    Dim quantity = -125
    Return CStr(Len(symbol)) & "|" & CStr(Len(quantity))
END SUB

パラメーターと実行の説明:

  • 絵文字は 2、符号付き -125 は 4。結果は 2|4 です。
  • サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

Clone this wiki locally