Lookup


概要

この関数は、ベクトルvs内の文字列パターンstrを検索し、見つかった場合は、同じインデックスを持つベクトルvrefから値を返します。ベクトルvrefには数値または文字列値を含めることができます。デフォルトでは、この関数はvsで文字列全体を検索します(option = 2)。一致するものがなく、vrefが数値の場合、関数は欠損値("--")を返します。vrefに文字列が含まれている場合、空の文字列が返されます。

この関数はoption =0 または =1を使用して最も近い一致を返しますが、Lookup()はワイルドカード文字をサポートしていません。

この関数は、ベクトルvd内の数値ddも検索し、同じインデックスを持つベクトルvrefから値を返します。デフォルトでは、関数はvdに最も近い値を検索します (option = 2)。option = 0の場合、ddより小さい最も近い値を検索します。option = 1の場合、ddよりも大きい最も近い値を探します。

構文

vrefに数値が含まれている場合、

 double Lookup(string str$, vector<string> vs, vector vref[, int option, int Case])

vrefに文字列値が含まれている場合、

 string Lookup(string str$, vector<string> vs, vector<string> vref[, int option, int Case])$

数値ベクトルvdを検索する場合、

 double Lookup(double dd, vector vd, vector vref[, int option, int Case])

パラメータ

str

ベクトルvsで検索する文字列パターン。

vs

文字列パターンstrが検索されるベクトル。

dd

ベクトルvdで検索する倍精度浮動小数点数型。

vd

ddが検索されるベクトル。

vref

n番目の値が返される参照ベクトル。nはベクトルvs内の文字列strのインデックス。

option

(オプション)文字列の照合方法を指定する整数。
  • option = 2 (デフォルト):完全に一致する文字列を検索します(Caseも参照)。
  • option = 0:ベクトルvsは昇順でソートされます。strが見つからない場合、関数はstrより小さい最も近い値のインデックスを取得します。
  • option = 1:ベクトルvsは降順でソートされます。strが見つからない場合、関数はstrより大きい最も近い値のインデックスを取得します。

Case

(オプション)検索で大文字と小文字を区別するかどうかを指定する整数。
  • case = 0 (デフォルト):検索で大文字と小文字を区別しません。
  • case = 1:検索で大文字と小文字を区別します。

戻り値

vsstrが見つかった場合は、同じ行インデックスのベクトルvrefに値を返します。

option = 2でstrが見つからなかった場合は、空の文字列または欠損値を返します。

option = 0でstrが見つからなかった場合は、strに最も近い小さい値に対応する値を返します。strより小さい値が存在しない場合は、欠損値(数値)または空の文字列(文字列)を返します。

option = 1でstrが見つからなかった場合は、strに最も近い大きい値に対応する値を返します。strより大きな値が存在しない場合は、欠損値(数値)または空の文字列(文字列)を返します。

周期表Book1で元素を検索し、対応する原子量を指定します。

Lookup ex1.png

上記のBook1をアクティブにして、LabTalkスクリプトを使用してシンボルを検索し、対応する名前を出力します。

range symbol=col(D);
range name=1!col(C);
string str1$ = Lookup("Li", symbol, name)$;
str1$=; //リチウムが出力される