2020/01/10(金) [n年前の日記]
#1 [haxe] HaxeでHelloworld
昨日、OpenFL や HashLink で Hello world はしてみたけれど。そもそも Haxe で Hello world をしていないことに気づいたので、そのあたりを試したり。環境は Windows10 x64 1909 + Haxe 4.0.5。
_Hello World - Haxe - The Cross-platform Toolkit
とりあえず、任意のフォルダ内で srcフォルダを作成して、その中に Main.hx を作成。
_src/Main.hx
実行するだけなら、以下でいいらしい。
「Hello World」と出力された。
渡すオプションについては、以下のページで説明されてる。
_Compiler Usage - Haxe - The Cross-platform Toolkit
_Hello World - Haxe - The Cross-platform Toolkit
とりあえず、任意のフォルダ内で srcフォルダを作成して、その中に Main.hx を作成。
_src/Main.hx
class Main { static public function main():Void { trace("Hello World"); } }
実行するだけなら、以下でいいらしい。
> haxe -cp src -main Main --interp src/Main.hx:3: Hello World
「Hello World」と出力された。
- -cp src で、Main.hx があるフォルダを指定。
- -main -Main で、mainクラス名を指定。
- --interp は…よく分からない、が、これを指定すると実行できるのだろう。たぶん。
渡すオプションについては、以下のページで説明されてる。
_Compiler Usage - Haxe - The Cross-platform Toolkit
◎ HXMLを使う。 :
一応実行はできたものの、一般的には、build.hxml だの compile.hxml だの、.hxml に前述のオプション群を列挙して、Haxe に .hxml を渡してビルドするものらしい。
_HXML - Haxe - The Cross-platform Toolkit
試してみる。build.hxml を作成。
_build.hxml
ビルドは以下。
bin/helloworld.n というファイルが作成された。
Neko で実行。
「Hello World」が表示された。
_HXML - Haxe - The Cross-platform Toolkit
試してみる。build.hxml を作成。
_build.hxml
-cp src -dce full -neko bin/helloworld.n -main Main
- -neko bin/helloworld.n で、bin/ 以下に、Neko用バイナリファイル helloworld.n を生成せよ、と指定している。
ビルドは以下。
haxe build.hxml
bin/helloworld.n というファイルが作成された。
Neko で実行。
> neko bin\helloworld.n src/Main.hx:3: Hello World
「Hello World」が表示された。
◎ 複数のターゲット向けファイルを生成する。 :
以下のような build.hxml を書けば、bin/ 以下に、*.js、*.n、*.py、*.hl を生成できる。
build.hxml
build.hxml
-cp src -dce full --each -js bin/helloworld.js -main Main --next -neko bin/helloworld.n -main Main --next -python bin/helloworld.py -main Main --next -hl bin/helloworld.hl -main Main
> haxe build.hxml > dir /b bin helloworld.hl helloworld.js helloworld.n helloworld.py
- --each と --next を使えば、異なるターゲット向けの記述を1ファイル内に列挙できるっぽい。
- -js bin/hoge.js で、JavaScriptファイルを生成。
- -neko bin/hoge.n で、Neko用ファイルを生成。
- -python bin/hoge.py で、Pythonファイルを生成。
- -hl bin/hoge.hl で、HashLink用ファイルを生成。
[ ツッコむ ]
#2 [emacs] Emacs を24.5から26.3にアップデートした
気づいたら、Emcas (NTEmacs 24.5) が、手元の環境、Windows10 x64 1909 上で動作しない状態になっていた。起動すると途中で固まってしまう…。
.emacs や .emacs.d/init.el をリネームして、設定ファイルを読み込まないようにしてから runemacs.exe を実行してみたら、すんなり起動してしまった。どうやら自分でカスタマイズした設定ファイルの中に、おかしな動作になる記述が含まれているようだなと…。
せっかくだから、Emacs 26.3 を導入して、最初から設定ファイルを作り直すことにしよう…。
.emacs や .emacs.d/init.el をリネームして、設定ファイルを読み込まないようにしてから runemacs.exe を実行してみたら、すんなり起動してしまった。どうやら自分でカスタマイズした設定ファイルの中に、おかしな動作になる記述が含まれているようだなと…。
せっかくだから、Emacs 26.3 を導入して、最初から設定ファイルを作り直すことにしよう…。
◎ Emacs 26.3のバイナリを入手。 :
昔の Emacs (NTEmacs、Windows用バイナリ)は、IMEを有効にして日本語を入力しようとすると、たしかインライン表示がされない問題があって、そのあたりにパッチを当てた独自ビルド版を公開してくれていた方が何人かいらっしゃるのだけど。
なんでも、26.3 は、IME関連の簡単なパッチが公式版でも当たっているそうで、日本語入力をするだけなら公式版バイナリを使っても大丈夫らしい。
_NTEmacs / Emacs for Windows
_Index of /pub/GNU/emacs/windows/emacs-26
が、公式版は w32-ime.el は含まれていないという話も見かけたので、以下の版を使わせてもらうことにした。ありがたや。
_mhatta/emacs-26-x86_64-win-ime: Emacs26 for Windows, 64bit build w/ Japanese IME support improvement
emacs-26.3_x86_64-win-ime-20191231.zip をDL。解凍して任意のフォルダに置いた。 *1 bin/runemacs.exe を実行したら、起動してくれた。
さて、設定ファイルをコピペしていかないと…。
なんでも、26.3 は、IME関連の簡単なパッチが公式版でも当たっているそうで、日本語入力をするだけなら公式版バイナリを使っても大丈夫らしい。
_NTEmacs / Emacs for Windows
_Index of /pub/GNU/emacs/windows/emacs-26
が、公式版は w32-ime.el は含まれていないという話も見かけたので、以下の版を使わせてもらうことにした。ありがたや。
_mhatta/emacs-26-x86_64-win-ime: Emacs26 for Windows, 64bit build w/ Japanese IME support improvement
emacs-26.3_x86_64-win-ime-20191231.zip をDL。解凍して任意のフォルダに置いた。 *1 bin/runemacs.exe を実行したら、起動してくれた。
さて、設定ファイルをコピペしていかないと…。
*1: 今回は、C:/home/bin/emacs26_3_x64 に置いてみた。とメモ。
[ ツッコむ ]
以上、1 日分です。