ValaとGenieの関係は、jsとCoffeeScriptの関係によく似ています。 と$ js2coffee
で、jsとcsをコンパイルできます。ここではジニーとバラはいかがですか?ValaとGenieの間でコンパイルする方法はありますか?
3
A
答えて
4
valie -dump-treeを使用してGenieからValaに変換できます。 libvalaのVala.CodeWriterクラスはGenieではなくValaのみを出力するため、ValaからGenieへの変換は少し複雑です。 Vala.CodeVisitorを(Vala.CodeWriterのように)サブクラス化することでGenieを出力するものを作成することはおそらく可能ですが、まだ誰もそれを行っていません。
しかし、私はあなたがなぜ望むのか全く分かりません。 GenieファイルとValaファイルを同じvalac呼び出し内で自由に混在させることができます。
のようなものでprivate static int main (string[] args) {
var foobar = new Foo (10);
var foobar2 = new Foo.with_bar (10);
return 0;
}
そしてコンパイル:
[indent=4]
class Foo : Object
prop a : int
init
print "foo is intitialized"
final
print "foo is being destroyed"
/* only class properties may be set in creation methods */
construct (b : int)
a = b
/* only class properties may be set in creation methods */
construct with_bar (bar : int)
a = bar
をそして、これでミックスvala.vala:
http://live.gnome.org/Genieから例の変更、mix-genie.gsでこれを置きます
valac -o mix mix-genie.gs mix-vala.vala
関連する問題
- 1. ビルド時間を短縮する方法/ XCodeでコンパイル時間を短縮する方法はありますか?
- 2. MacにValaをインストールする方法はどこにありますか?
- 3. eclipseでGnuTLSをコンパイルする方法はありますか?
- 4. android NDKでlibuvをコンパイルする方法はありますか?
- 5. waaでvalaライブラリを使ってvalaアプリケーションをコンパイルする
- 6. PHP/DHTML/JSコンポーネントをコンパイルまたはコンパイルする方法はありますか?
- 7. C++コンパイルとRustコンパイルの両方でループ最適化をオフにする方法はありますか?
- 8. FFアドオンコードをコンパイルする方法はありますか
- 9. メニューとツールバーの間でToolStripMenuItemを共有する方法はありますか?
- 10. リクエストごとに資産をコンパイルする方法はありますか?
- 11. Macでコマンドラインからsfmlプロジェクトをコンパイルする方法はありますか?
- 12. ローカルブランチとリモートブランチ間で変更をマージする方法はありますか?
- 13. Dottyでsbtプロジェクトをコンパイルする簡単な方法はありますか?
- 14. GCCでアセンブルせずにプログラムをコンパイルする方法はありますか?
- 15. zendフレームワークでは、異なるモジュール間でやりとりする方法はありますか?
- 16. セレンで待ち時間とスリープを避ける方法はありますか?
- 17. HTMLヘルプファイルのコンパイルを自動化する方法はありますか?
- 18. ジンジャーブレッドのソースコードを簡単にコンパイルする方法はありますか?
- 19. iPhoneをValaでコーディングすることはできますか?
- 20. Valaに.NETのBackgroundWorkerと同等のものがありますか?
- 21. valarrayと配列の間のコピーを避ける方法はありますか?
- 22. 複数のマーカーをプロットする方法と、2点間のルートをプロットする方法はありますか?
- 23. 時間配列を時間順にソートする方法はありますか?
- 24. コピー依存関係の目標の間にmaven-dependency-pluginを使用して、テストとコンパイルの間でアーティファクトを分割する方法はありますか?
- 25. アクティビティグループ内のアクティビティ間でデータをやりとりする方法はありますか?
- 26. whileループなしでコンピュータ間でデータをやりとりする方法はありますか? C++
- 27. iOSのコントローラ間でセッショントークンを保持する方法はありますか?
- 28. 複数の電子メインプロセス間で通信する方法はありますか?
- 29. Symbian OSにFree Pascalコードをコンパイルする方法はありますか。
- 30. CUDAコードをコンパイルしてC++プロジェクトにリンクする方法はありますか?
Genieからのコンパイルは、私にとっては十分強力です。私はGenieを学ぼうとしました(中括弧とあまりにも多くの言葉を消してしまいました)、もっと学ぶためにValaの文書を読むことを考えました。したがって、両方の間でツールが翻訳できる場合は、それが役に立ちます。 – jiyinyiyong
私は現在、約90%のPythonと10%のValaのプロジェクトに取り組んでいます。プロジェクトの大半を占めるpythonコードのように見えるように、私がValaをGenieに変換することができたらうれしいです。 – robru