If文をone linerで記述。
doファイルを書くたびにあったら便利だなと思ってたんですが,あったようです。()で囲めばよいようです。
たとえば,
if n == 1 { dis "hoge" }
は,
if (n == 1) dis "hoge"
と1行で記述することが可能のようです。3行が1行になるので,シンプルな内容であれば可読性が上がるかと。
ちなみにelse文も使える。
if (n == 1) dis "hoge" else dis "moge"
下は適当に作ったサンプルプログラム。乱数を発生させて,3行目の値が1ならば,"hoge"を,それ以外なら"moge"を返す。
clear set obs 3 gen i = floor(rnormal(1) * 2) if (i == 1) in 3 dis " hoge" else dis "moge"