pythonで言うところのimport構文で自作のモジュールを読み込ませたいなというお話
今日のお題
- 「こんにちは、〇〇さん(〇〇は任意の名前)」と表示する関数display_helloが記載されているDoFile「display_hello.do」を作成しなさい。
- 「display_hello.do」を別のDoFile「Hello_world.do」に読み込ませて、display_helloを用いて「こんにちは、田中さん」と表示させなさい。
とりあえずシンプルにこんな感じでやってみます。
「display_hello.do」モジュールの作成
capture program drop display_hello program define display_hello args name display "こんにちは、`name'さん" end
シンプルにこんな感じです。
頭の「capture program drop 〜」はお約束のフレーズ。
この関数の場合、被ることはないですが、一応クセとしてつけておくとよいでしょう*1。
Hello_world.doの作成
cd "自分の作業フォルダーのパスを入れる" do "「display_hello.do」のパスを入れる" * モジュールから読み込んだ関数を実行する display_hello 田中
ざっくりやるとこんな感じです。
個人的に「do "「display_hello.do」のパスを入れる"」のパスは相対パスで入れるのが好みなのですが、今回は絶対パスでも相対パスでもどちらでもいいです。
実際に保存して実行してみる
問題なくSTATAの画面に
. display_hello 田中
こんにちは、田中さん
と出るはずです。出ない場合はパスが間違っているかタイポしている可能性があるのでもう一度ソースコードを確認してください。