AutoLISP入門 関数紹介

データをやり取りする便利な箱!AutoLISPの変数を解説

変数

こんにちは!はこです。
AutoLISPを独学で覚えて、5年以上業務で使用しています。

「変数ってなに?」
「AutoLISPではどうやって変数を扱うの?」

こんな疑問をお持ちのAutoCADユーザーに向けて、AutoLISPの変数について解説していきます。

変数の基礎的な部分を理解できるようになるので、ぜひご覧ください。

データをやり取りする便利な箱!AutoLISPの変数を解説

変数とは

変数とは簡単に言うとデータの値を入れる箱のようなものです。

数値や文字列など様々なデータを保管することができます。

また、変数に保存されたデータは取り出して参照することもできます。

変数を使うことでプログラムが見やすくなり、修正も簡単になるためプログラミングにはなくてはならない存在です。

変数の命名ルール

AutoLISPの変数名は以下の文字以外であれば、基本的に自由に命名できます。

ただし、「123」のように数字のみの変数名は使用できません。使用できない文字は以下のとおりです。

  • ( 左丸括弧
  • ) 右丸括弧
  • ' クォーテーション
  • " ダブルクォーテーション
  • . ピリオド
  • ; セミコロン
  •   スペース

また、大文字と小文字は区別されません。

バージョンによっては、日本語文字も変数名に使えますが旧バージョンではエラーを招く可能性があるので英数字のみで命名することをおすすめします。

データのタイプ

AutoLISPで扱うデータにはいくつか種類があり、主なものは次のとおりです。

  • 実数
  • 整数
  • 文字列
  • リスト
  • 関数
  • 図形名
  • 選択図形

他のプログラミング言語では変数毎にデータの型宣言を必要としますが、AutoLISPは型宣言が不要

同じ変数でさまざまデータを扱える点がAutoLISPの特徴の一つです。

変数に値を代入する関数「setq」

変数にデータを代入するには「setq」という関数を使い、次のように記述します。

(setq a 15)

上の例では、変数aに整数の15を代入しています。

ちなみに、AutoLISPで「=」は比較演算のときに等しいの意味で使われます。代入を表すものではないので注意してください。

また、変数名とそれに代入するデータを以下のように連続的に記述することもできます。

(setq a 15 b 20.5 c "hako")

この例では、変数aに整数の15、変数bに実数の20.5、変数cに文字列のhakoが代入されます。

文字列を表現するときには左右にダブルクォーテーション(")を記述する必要があります。

nilとは

AutoLISPでは値がない変数を「nil」と表現します。

簡単にいえば変数という箱の中身が空の状態です。

また、nilを代入することで変数を初期化(空の状態)することができます。

「0」は数値のひとつなので変数に代入しても、値を空にすることはできないので注意してください。

まとめ

今回の内容を以下にまとめます。

  • 変数とはデータの値を入れる箱のようなもの
  • 変数の命名ルールは基本的に自由
  • データのタイプは実数、整数、文字列、リスト、関数、図形名、選択図形などが存在する
  • 変数を代入するには関数「setq」を使う
  • nilとは値がない変数。変数に代入すると初期化できる。

-AutoLISP入門, 関数紹介

独学おすすめ書籍はコチラ
独学おすすめ書籍はコチラ