snvalid (AutoLISP)

指定された文字列が有効なシンボル テーブル名かどうかチェックします。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(snvalid sym_name [flag])
sym_name

タイプ: 文字列

シンボル テーブル名。

flag

タイプ: 整数型

sym_name 引数での縦棒文字(|)の使用を許可するかどうかを指定します。flag 引数には、次の値の 1 つを指定することができます。

0: sym_name 引数内で縦棒文字( | )を使用できません。これが既定です。

1: 名前の先頭または末尾でなければ、sym_name 引数内で縦棒文字( | )を使用できます。

戻り値

タイプ: T または nil

sym_name 引数が有効なシンボル テーブル名の場合は T。それ以外の場合は nil

注意

snvalid 関数は、AutoCAD のシステム変数 EXTNAMES を調べて、アクティブな図面に適用される規則を決定します。システム変数 EXTNAMES が 0(ゼロ)の場合、snvalid 関数では AutoCAD 2000 より前のシンボル命名規則が使用されます。EXTNAMES が 1(既定値)の場合、AutoCAD 2000 で導入された拡張シンボル命名規則が使用されます。次の文字は、EXTNAMES の設定にかかわらず、シンボル名に使用することはできません。

EXTNAMES が 1 の場合、シンボル テーブル名の長さの制限は適用されません。

システム変数 EXTNAMES が 1 の場合、制御文字、グラフィック文字、および次に示す文字以外のすべての文字を使用できます。

シンボル テーブル名で使用できない文字

< >

より小さい、より大きいシンボル

/ ¥

スラッシュ、円記号

"

クォーテーション

:

コロン

?

クエスチョン マーク

*

アスタリスク

|

縦棒

,

カンマ

=

等号

`

逆クォーテーション

;

セミコロン(ASCII 59)

シンボル テーブル名には、スペースを含めることができます。

システム変数 EXTNAMES が 0(ゼロ)の場合、シンボル テーブル名は、大文字および小文字のアルファベット(A~Z)、数字(0~9)、ドル記号($)、アンダースコア(_)、ハイフン(-)で構成されます。

次の例では、システム変数 EXTNAMES が 1 に設定されていると仮定します。

(snvalid "hocus-pocus")
T

(snvalid "hocus pocus")
T

(snvalid "hocus%pocus")
T

次の例では、システム変数 EXTNAMES が 0 に設定されていると仮定します。

(snvalid "hocus-pocus")
T

(snvalid "hocus pocus")
nil

(snvalid "hocus%pocus")
nil

次の例では、シンボル テーブル名に縦棒文字( | )が含まれています。

(snvalid "hocus|pocus")
nil

既定では、縦棒文字( | )が含まれたすべてのシンボル テーブル名は、無効とみなされます。

次の例では、flag 引数に 1 が指定されているので、縦棒が先頭または末尾の文字でない限り、縦棒を含む sym_name 引数も有効とみなされます。

(snvalid "hocus|pocus" 1)
T