-
Notifications
You must be signed in to change notification settings - Fork 0
API StrComp ja
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO • Runtime API
名前やコマンドの完全一致と順序を比較します。
StrComp(left:String, right:String) -> Integer
-
left— 左側の String。 -
right— 右側の String。両方必須で、3 番目の比較モード引数はありません。
Integer -1/0/1 は前/一致/後。大文字小文字を区別する UTF-16 序数比較です。Boolean ではなく、一致は result = 0。If StrComp(...) は不一致で真になります。
- サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。
- 言語に依存せず、言語的な並べ替えもしません。大文字小文字を無視する規則なら明示的に LCase/UCase を使います。入力は変わりません。
String.Compare の Ordinal 比較後、Math.Sign で -1、0、1 にします。
String.Compare の Ordinal 比較後、Math.Sign で -1、0、1 にします。
Integer -1/0/1 は前/一致/後。大文字小文字を区別する UTF-16 序数比較です。Boolean ではなく、一致は result = 0。If StrComp(...) は不一致で真になります。
プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; 関数 BasicStrComp / String.Compare / Math.Sign.
言語に依存せず、言語的な並べ替えもしません。大文字小文字を無視する規則なら明示的に LCase/UCase を使います。入力は変わりません。
# コマンドを認識する
#
# 名前やコマンドの完全一致と順序を比較します。
#
# Integer -1/0/1 は前/一致/後。大文字小文字を区別する UTF-16 序数比較です。Boolean ではなく、一致は result = 0。If StrComp(...)
# は不一致で真になります。
SUB Main()
# Trim/LCase が " STOP " を stop にし、0 との比較で True (1)。スクリプトは停止しません。
# サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。
Dim action = LCase(Trim(" STOP "))
If StrComp(action, "stop") = 0 Then
Return True
End If
Return False
END SUBパラメーターと実行の説明:
- Trim/LCase が " STOP " を stop にし、0 との比較で True (1)。スクリプトは停止しません。
- サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。
# 2 つの名前を並べる
#
# 名前やコマンドの完全一致と順序を比較します。
#
# Integer -1/0/1 は前/一致/後。大文字小文字を区別する UTF-16 序数比較です。Boolean ではなく、一致は result = 0。If StrComp(...)
# は不一致で真になります。
SUB Main()
# zinc は iron より後なので変数を交換し、iron|zinc を返します。
# サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。
Dim first = "zinc"
Dim second = "iron"
If StrComp(first, second) > 0 Then
Dim saved = first
first = second
second = saved
End If
Return first & "|" & second
END SUBパラメーターと実行の説明:
- zinc は iron より後なので変数を交換し、iron|zinc を返します。
- サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。
# 正確な許可名を探す
#
# 名前やコマンドの完全一致と順序を比較します。
#
# Integer -1/0/1 は前/一致/後。大文字小文字を区別する UTF-16 序数比較です。Boolean ではなく、一致は result = 0。If StrComp(...)
# は不一致で真になります。
SUB Main()
# ContainsExact は | 区切りを走査し、Ore に完全一致して True (1)。ore は Ore と一致しません。
# サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。
Return ContainsExact("ore|Ore|wood", "Ore")
END SUB
Function ContainsExact(names, wanted)
For index = 0 To GetWordCount(names, "|") - 1
If StrComp(GetWord(names, index, "|"), wanted) = 0 Then
Return True
End If
Next
Return False
End Functionパラメーターと実行の説明:
- ContainsExact は | 区切りを走査し、Ore に完全一致して True (1)。ore は Ore と一致しません。
- サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь