Javaの機能を拡張した新言語Xtendの紹介です。Eclipseで簡単に使えます。NSEG第31回勉強会(2012年9月29日)の発表資料。Read less
2012-12-06 Xtendのラムダ式について Xtendというプログラミング言語がある。いわゆるBetter Java言語の一つで、RubyにおけるCoffeeScriptに近い位置付けなのだそうだ。 Xtendで書かれたコードは、Xtendコンパイラによって、Javaファイルにコンパイルされ、その後は通常と同様のビルドプロセスを経る。実行には薄いXtendランタイムを必要とするが、Javaとの親和性が高く、さらにJavaからのゆるやかな移行が可能な点に好感が持てる。 ビジョンや言語設計、そのための工学的手段には概ね満足なのだが、一つ(個人的には大きな)問題を発見した気がするので報告したい。もし、私が間違っていれば指摘・反論していただきたい。 問題はラムダ式にある。Xtendのラムダ式は次のような構文になっている。 [ p1, p2, ..., pN | expr ] pNは無名関数
Eclipse Junoのリリースとともに、Eclipse FoundationはXtendのリリースを高らかに発表した。これはラムダを備えたJava互換の言語で、Javaランタイムに完全な互換性をもつ。XtendはXtextというDSLライブラリおよびエディタ生成のためのプラグインスイートをベースにしている。 ScalaやCeylon、Kotlinと違って、Xtendは独自のバイトコードコンパイラを必要としていない。その代わり、XtendのソースファイルはJavaのソースファイルに変換され、それから通常のJavaコンパイラでコンパイルされる。その結果、Xtendは、標準的なJavaプロジェクトで使えるJavaを生成する、開発時の変換ツールとして利用したり、コンパイル時にJavaソースファイルを生成するのに使うソースモデルとして利用することができる。 Xtendをコンパイルするには2つの方
「Xtend」は「Xtext」の成果物 Eclipse Foundationによって開発されているEclipseプラグインのひとつに「Eclipse Xtext」というものがある。Eclipse XtextはDSLの開発を容易にするためのフレームワーク/ツールキットであり、これを利用すればオリジナルのプログラミングを簡単に作成することができる。 Xtextの最大の特徴は、作成した言語のための開発サポート機能まで同時に用意できる点にある。通常、開発者が独自に設計した言語ではエディタによるサポート機能が使えないというデメリットがあるが、Xtextであれば、Eclipseの持つシンタックスハイライトやコード補完、コードヒントなどを備えたエディタやコードジェネレーターなどを、新しい言語でもすぐに利用することができる。もちろんベースとなる開発環境はEclipseだ。 「Eclipse Xtend」は
Xtendの便利な機能の1つにテンプレートを埋め込み可能な文字列リテラルがあります。が、その前にまずはXtendの文字列リテラルについて。 Xtendではシングルクォート、ダブルクォートのどちらで囲んでも文字列リテラルになります。当然のことですが、シングルクォートで囲んだ場合はダブルクォート、ダブルクォートで囲んだ場合はシングルクォートのエスケープが不要になります。 val str1 = "これは文字列" val str2 = 'これも文字列' 文字列リテラルは複数行にすることもできます。 val str1 = "1行目 2行目 3行目" さて、ここからが本題です。Xtendではシングルクォート3つで囲むとRich Stringというモノになります。このRich Stringには«...»で任意のXtend式を埋め込むことができます。なお、はてなダイアリーでは«...»が自動的に数値参照に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く