- キーたん(Qiitan)は、Qiita™️ の SNS である「Qiitadonβ」のマスコット・キャラクターです。
Qiitan-go
は非公認の Qiitan のファン・アプリです。Qiita™️ とは一切関係がありません。
キーたん語(Qiitan-go)は、キーたん(Qiitan) ファンの、Qiitan ファンによる、Qiitan ファンのための「お遊び用スクリプト言語」です。
$ # スクリプト
$ cat ./hello_world.qiitan
/* Hello World of Qiitan Script */
foo := import("fmt")
foo.println("Hello World!")
$ # 実行
$ qiitan ./helloworld.qiitan
Hello World!
-
スクリプトの簡易説明(
./hello_world.qiitan
)foo := import("fmt") foo.println("Hello World!")
- この qiitan スクリプトは、標準モジュール(
qiitan
インタプリタに同梱されているモジュール)からfmt
モジュールをfoo
に代入し、そのfmt
モジュール内で定義されているprintln
関数(改行付きprint
関数)を呼び出して標準出力に出力しています。
- この qiitan スクリプトは、標準モジュール(
対話モード(REPL)で実行する例
$ # 対話モード(REPL)で実行
$ qiitan
Welcome to Qiitan Script Interactive Mode! (To exit just type `bye`)
> foo := import("fmt")
LOG: {__module_name__: "fmt", print: <user-function>, printf: <user-function>, println: <user-function>, sprintf: <user-function>}
> foo.println("Hello World!")
Hello World!
LOG: <undefined> object returned. Perhaps the statement has no return or nothing is assigned to it.
>
> bye
Nice chatting with you. Thank you! Bye-bye~.
$
キーたん語は、なんちゃってプリ・コンパイル型の言語です。
qiitan
スクリプトの実行だけでなく、その中間ファイル(バイトコード)を出力することができ、この中間ファイルも qiitan
インタプリタで実行することができます。
複数ファイルで構成されている qiitan
スクリプトを 1 つのファイルとして配布したい場合に便利です。(実行速度は大して変わりません)
$ qiitan -compile ./helloworld.qiitan
compiled: ./helloworld.qtn
$ qiitan ./helloworld.qtn
Hello World!
-
Homebrew (macOS: x86_64/Intel/AMD64, M1/ARM64, Linux & Windows WSL2: x86_64, ARM64, ARM v6)
brew install Qiitadon/apps/qiitan
-
手動インストール(Windows, macOS, Linux)
- Releases ページ
qiitan
インタプリタは単体バイナリです。リリース・ページから OS + アーキテクチャに該当するバイナリをダウンロードし、実行権限を与えてパスの通ったディレクトリに設置するだけで利用できます。- macOS で「
Operation not permitted
」エラーが出る場合は、ターミナル・アプリにディスク・アクセスの権限が与えられていない可能性があります。
このリポジトリでは、以下のような最低限のセキュリティ対策が施されています。
qiitan
コマンド(インタプリタ)自体は Go 言語で開発されています。qiitan
コマンド(インタプリタ)は、スタンドアロン(単体)のバイナリとして動作するように設計されています。- CONTRIBUTING
- MIT License.
- Copyright: © 2022 The Qiitan-go Contributors.