最近EasyLanguageで出力した結果を
Excelファイルに落としてデータ分析する機会が多いです。
それで、大量データをまとめてExcelファイルに落としたい時は
前回の記事でご紹介したWorkbookクラスを使って処理するのですが・・
ちょっとしたデータを取りたい時は、
”Tab(タブ)区切りの文字列”をPrint関数で印刷ログに出力しています。
(全選択->コピペでそのままExcelに貼り付けられて便利なので)
ただ、EasyLanguageでタブ文字を扱いたい場合、
改行(NewLine)のような予約語は用意されていないようです。
(僕がまだ探せていないだけかもしれませんが)
代替え案として、
「”」+「Tab入力」+「”」と書くとTab文字として認識してくれるようなので
これまではこれを利用していました。
(画像だと分かりにくいですが、
6行目のダブルクオテーションの間は半角スペースでなくタブ入力です)
「Tabをスペースに自動変換」設定をした時に悲劇は起きた
最近、コードをブログなどに貼り付ける事も多いので
「ツール」->「オプション」の「一般タブ」で
「インテンドする際にタブの代わりにスペースを挿入」をチェックしました。
エディタ上でTabを入力すると、
自動で任意の半角スペース(初期では4つ)に変換してくれます。
・・ただこの設定をすると、
Tab入力で作った上のTab文字も自動で変換されてしまうのです・・orz
(勝手に半角スペース4つになってしまった)
こういった問題が発生しましたし、
そもそも「”」+「Tab入力」+「”」だと
パッと見てTabなのかスペースなのか分かり辛いよね、という事で
【Tab文字を返してくれる関数】を自作してみる事にしました。
Tab文字関数の作り方
Tab文字関数のコードは、以下の通りです。
Tab = " ";
・・はい。たったこれだけ。1行。 「インテンドする際にタブの代わりにスペースを挿入」をチェック外した状態で 「”」+「Tab入力」+「”」と入力しています。 EasyLanguageの関数は、
引数:分析テクニックやストラテジーと同様に
Inputs:で定義(今回はありませんが)
戻り値:関数名=XX; で定義
となっております。 例えば他のプログラミング言語で書くならこんなイメージでしょうか?
function Tab() { return " "; }
一応関数作成の手順も載せておきます。 関数名はお好きな名前でどうぞ。
関数作成の手順
1. 新規作成で「関数」を選択
2. 関数名とリターンタイプ(今回は文字列)を選択
3. 以下のコードを貼り付けて検証
(上で紹介したものと同じコードです、再掲)
Tab = " ";
4. 後は使いたいコード内でTabと入力
※入力したTabが関数用の色(初期では紫色)になれば正しく認識されています。
おわりに
たった1行のコードですが、
このように関数化しておくと便利なものは
コードを書けば書くほど出てくると思います。
「このコードは何回も書いているから関数化できないかな?」
と考えるクセをつけておくと、より簡潔なコードが書けるようになります。
ぜひ、参考にしてみてください。
ではでは。