Go言語のREPL、goreの0.4.0をリリースしました。
id:motemenさんに連絡をとって、goreのコミット権をいただきました。 最初はpull requestが溜まっていたので片付けて、細かいバグ修正などを行いました。 しばらく触っていると慣れてきたので、新機能も実装して入れました。
かなり便利になっているので、ぜひアップデートして (またはインストールして) お使いください。
go get github.com/motemen/gore/cmd/gore
バグ修正
- 特定のケースで
Evaluated but not used
というエラーが出ることがあるのを修正しました- 例えば
len(fmt.Sprint(1))
を二回評価すると出ていた
- 例えば
- おかしなトークンが入力されたらエラーを表示するようにしました
- 例えば
foo # bar
と入力するとinvalid token: "#"
と表示します
- 例えば
新機能
- 関数定義をサポートしました
- これまでも
f := func(x int) int { return x * 2 }
と書くことはできましたが、今回のアップデートでfunc f(x int) int { return x * 2 }
もサポートしました
- これまでも
:type
コマンドで変数や関数の型を確認できるようにしました (ghciと同じような感じです):clear
コマンドで定義した変数や関数を削除できるようにしました- コマンドの省略形をサポートしました
- 例:
:import
に対して:i
,:type
に対して:t
,:quit
に対して:q
など
- 例:
その他の改善
- Go 1.12をサポートしました
- gocodeとgodocのアップデートもおすすめします
- Makefileを追加しました
- mainパッケージをcmd/gore/に移動しました
- 起動時のヘッダーを標準エラー出力に出すようにしました (pythonと同じです)
- 一時ディレクトリーの改善 (ディレクトリー名にgore-をつける、終了時に削除する)
- コンパイルエラーが起きたときのメッセージ改善 (一時ファイルの名前を表示しないなど)
- 他にも細かい改善を行いました
gore 0.4.0のスクリーンショットです。
バグ報告は Issues · motemen/gore · GitHub までお寄せください。より良いGo-lifeのために、今後も開発を進めていきます。