haxeとは? わかりやすく解説

Haxe

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/09 15:45 UTC 版)

Haxe
Haxeのロゴ
パラダイム マルチパラダイム
登場時期 2005
開発者 Haxe Foundation, Nicolas Cannasse
最新リリース 4.3.6/ 2024年8月7日 (6か月前) (2024-08-07)[1]
評価版リリース haxe 2024-08-14 development / 2024年8月14日 (5か月前) (2024-08-14)[2]
型付け 静的型付け
影響を受けた言語 ActionScript, OCaml
プラットフォーム クロスプラットフォーム
ライセンス

コンパイラ:GPL v2以降

標準ライブラリ:MIT
ウェブサイト haxe.org
テンプレートを表示

Haxe(ヘックス、発音記号は /heks/[3][4])はオープンソースの高級プログラミング言語、もしくはそのコンパイラである。

言語としてのHaxeは静的型付きオブジェクト指向言語であり、構文はActionScript 3および標準化が中止されたECMAScript 4に似ている。Adobe FlashJava仮想マシンおよび独自のNekoやHashLinkで実行可能なバイトコードコンパイルされるほか、JavaScript、ActionScript 3、C++、Cppia、C#JavaPHP 7Python 3Luaへのソースコードの変換が可能であるため、主にマルチプラットフォーム開発を目的として使用される。また、FlashからHTML5への移行にも適する。

2012年4月に表記がhaXeからHaxeに変更された[5]

対応プラットフォーム

Haxeのコンパイラは、AVMやJava VM、そして独自の仮想マシンであるNeko及びHashLinkのバイトコードや、JavaScript、ActionScript 3、C++、Cppia、C#、Java、PHP、Python 3、Luaのソースコードを生成する。複数のプラットフォームに「コンパイルする」この戦略は、"Write once, run anywhere" の思想に基づいている。これにより、プログラマが目的のために最良のプラットフォームを選択できる。

Haxeでは、これらプラットフォームは「ターゲット」と呼ばれる。

AVM

haXe Betaより対応(2006年2月)[6]。バイトコードへコンパイルされる。主な想定プラットフォームは、Adobe Flash、Adobe AIR

2007年3月、AVM2へ対応した[6]

Neko

haXe Betaより対応(2006年2月)[6]。バイトコードへコンパイルされる。

JavaScript

1.0より対応(2006年5月)[6]。単一のソースファイルを出力する。主な想定プラットフォームは、ブラウザNode.jsElectron

Dynamic型によってJavaScriptのライブラリをそのまま利用できるほか、著名なライブラリであれば、Haxelibに公開されている(あるいは自分で定義した)externライブラリを使用することで、型安全性を保ったまま利用することができる[7]

Haxe 4.0現在、ECMAScript 5に準拠したコードへコンパイルされる[8]。加えて、4.0以降ではECMA Script 6から追加されたクラス定義に対応した[9]

ActionScript 3

1.xより対応(2007年3月)[6]。複数のソースファイルを出力する。主な想定プラットフォームは、Adobe FlashやAdobe AIR。

PHP

2.0.0より対応(2008年7月)[10]。複数のソースファイルを出力する。

Haxe 3まではPHP 5.1.0に準拠したコードへコンパイルされていたが、Haxe 4以降ではPHP 7.0.0へ変更された[11]

C++

2.4.0より対応(2009年7月)[12]。複数のソースファイルを出力する。主な想定プラットフォームは、WindowsやmacOS、Linux、iOSAndroidTizenBlackBerry

C++ターゲットを利用するには、Haxelibに公開されているhxcppライブラリのインストールが必要となる[13]。また、独自のガベージコレクション機能を実装している。

C#

2.10.0より対応(2012年4月)[14]。複数のソースファイルを出力する。主な想定プラットフォームは、.NET FrameworkMonoASP.NETUnity

Haxelibに公開されているhxcsライブラリによって、.NET Framework 2.0及び4.0の標準ライブラリを利用できるようになる[15]。.NET Frameworkのパスを指定すれば、任意のバージョンを利用することも可能。

Java

2.10.0より対応(2012年4月)[14]。複数のソースファイルを出力する。

Haxelibに公開されているhxjavaライブラリによって、Java 8の標準ライブラリを利用できるようになる[16][17]

Python

3.2.0-rc.2より対応(2015年5月)[18]。単一のソースファイルを出力する。

Cppia

3.2.0-rc.2より対応(2015年5月)[18]。単一のスクリプトファイルを出力する。

Cppiaは、外部のコンパイラを必要としない、Haxe上で完結するC++のスクリプト実行機能を提供する[19]。Haxelibで公開されているhxcppライブラリを必要とする。

Lua

3.3.0-rc.1より対応[20]。単一のソースファイルを出力する。

3.3.0-rc.1より対応[21]。バイトコードへコンパイルされる。主な想定プラットフォームは、WindowsやmacOS、Linux、iOS、Android、Nintendo SwitchPlayStation 4

Java VM

4.0.0-rc.3より対応[22]。バイトコードへコンパイルされる。

言語

静的型付きのオブジェクト指向言語である。HaxeはActionScriptから派生した言語であるため、基本構文はActionScript3と共通する部分が多い。

機能

ActionScript3と共通する機能

HaxeはActionScript3が持つような以下の機能を持つ。

これらの機能は、クラスのようにActionScript3とよく似た構文で提供されるものもあるが、プロパティのようにActionScript3とは異なる文法で提供されるものもある。

ActionScript3との相違点

構文が似ていても細かい挙動がActionScript3と異なるものも多い。以下にそのようなHaxeの挙動をいくつか挙げる。

  • if文、switch文、ブロックが式であり、値を返す。
  • ローカル変数、関数のスコープが異なる。
  • privateのアクセス修飾子の意味合いが、ActionScript3のprotectedに相当する。
  • 演算子の優先順位が異なる。
    • % が * と / より優先度が高い。
    • |、&、^の優先度が同じ。
    • |、&、^が、==、!=より優先度が高い。

また、ActionScript3にはあるがHaxeには存在しない機能もある。以下にその例を挙げる。

  • for(初期化式; 継続条件式; 再初期化式){} のC言語形式のfor文

独自の機能

その他、以下のような独自の機能を持つ[23]

型システム

Haxeでは細かい宣言が可能である。

function func1(threeDimensionalArray:Array<Array<Array<Int>>>, string:String, bool:Bool) { ... }

// オプションのInt整数値を渡し、Intを返す
function func2(?i:Int):Int {
    return 0;
}

// 引数のない関数をパラメータとして渡す
function func3(f:Void -> Void) {
    f();
}

// Intを渡しIntを返す関数をパラメータとして渡す
function func4(f:Int -> Int) {
    var result = f(1);
}

// 任意型を取り、任意型を返す
function func5(d:Dynamic):Dynamic {
    return d;
}

Haxeは静的型付き言語であるが、Dynamic型やuntypedを用いることで部分的に型チェックを無効化できる。逆にexternクラスによる型定義を行うことで、動的型のターゲットのライブラリに対して型チェックを有効にして連携できる。

列挙型

列挙型 (enum) はHaxeの重要な特徴である。

Haxeの列挙型は他の多くの言語のように単に値を列挙して識別子をつけるものよりも抽象的で、列挙子(Haxeではenumコンストラクタと呼ぶ)ごとに異なるパラメータつことが可能である。このような列挙型はMLHaskellのような言語の代数的データ型に相当する[24]

これにより、自身をパラメータにもって再帰構造をつくったり、木構造を作ったりできる。

以下の例のようにインスタンス化して使う。

enum Color {
    red;
    green;
    blue;
    rgb: (r:Int, g:Int, b:Int);
}
 
class Colors {
    static function toInt(c:Color):Int {
        return switch (c) {
            case red: 0xFF0000;
            case green: 0x00FF00;
            case blue: 0x0000FF;
            case rgb(r, g, b): (r << 16) | (g << 8) | b;
        }
    }
    static function validCalls() {
         var redint = toInt(Color.red);
         var rgbint = toInt(Color.rgb(100,100,100));            
    }
}

標準ライブラリ

Haxeの標準ライブラリはすべてのターゲットで動作するもの、すべてでは無いが複数のターゲットで動作するもの、個別のターゲットのみで動作するものがある。以下にそれぞれの例をあげる。

  • すべてのターゲットで動作するもの
  • すべてではないが複数のターゲットで動作するもの
    • 標準入出力、標準エラー出力(Flash、JavaScript以外のターゲット)
    • SQLを操作するライブラリ (Neko, C++, PHP)
  • 個別のターゲットで動作するもの
    • Flash、Java、C#、PHP、Pythonのそれぞれのターゲットの標準のAPI
    • HTML5標準のAPIおよびjQueryのextern (JavaScript)
    • AST(抽象構文木)やコンパイルのオプションの操作(マクロ環境のみで動作[要出典]

このように機能それぞれに合わせた抽象化が行われているため、複数のターゲットで動作するような書き方と、個別のターゲットに依存してそのターゲットの利点を生かすような書き方の両方ができる。

JavaScript

個別のターゲットのに依存する場合の例として、JavaScript出力におけるHTML5 Canvasの使用例を示す。

import js.Browser;
import js.html.CanvasElement;
 
class Main 
{
    static public function main()
    {
        var canvas:CanvasElement = cast Browser.document.getElementById("canvas");
        var ctx = canvas.getContext2d();
		
        ctx.fillStyle = "#F00";
        ctx.fillRect(50, 50, 100, 100);
    }
}

サードパーティーのライブラリ

OpenFL

HaxeではFlashターゲットの場合はFlashのAPIをそのまま使用できるが、他のターゲットについてもFlashに類似したオープンソースのAPI (OpenFL) が開発されている。

クロスプラットフォームのライブラリであるOpenFLを用いて画像を表示するプログラムを示す。同一コードがFlash、HTML5、Windows/Mac/Linux/iOS/Androidネイティブで実行可能である。描画には、FlashではDisplayObject、HTML5ではWebGLまたはCanvas、ネイティブ環境ではOpenGLが使用される。

import flash.display.Bitmap;
import flash.display.Sprite;
import flash.Lib;
 
class Main extends Sprite 
{
    public function new() 
    {
        super();
 
        var image = new Bitmap(openfl.Assets.getBitmapData("img/sample.png"));
        addChild(image);
    }
 
    static public function main() 
    {
        Lib.current.addChild(new Main());
    }
}

コンパイラ

実装

HaxeのコンパイラはOCamlで実装されている。Haxeの利用者にはOCamlの知識は必要ない。

機能

Haxeのコンパイラは複数のプラットフォームへのコンパイルの他に以下のような機能を持つ。

ターゲット共通

  • デッドコード削除
  • 定数畳み込み
  • リソースデータの埋め込み
  • IDEに対してコンパイル・補完・リファクタリング機能を提供するサーバ機能
  • ドキュメント生成用のXml出力

各ターゲット個別

  • SWC、SWFのライブラリの利用(Flash)
    • 静的リンク・動的リンク
    • SWC、SWFのライブラリからのexternの生成
    • SWCファイルの生成
  • ソースマップの生成(JavaScript)
  • jarライブラリの利用(Java)
  • dllライブラリの利用(C#)

統合開発環境

Haxeでのプログラミングには各種の統合開発環境 (IDE) およびエディタが利用できる。Haxeのコンパイラには、IDEに対してコンパイル・補完機能を提供するサーバ機能が備わっている。

Haxeで書かれたソフトウェア

Flashコミュニティを出自とする言語のため、ゲームの用例が多い(言語上はそれに限定されない)。以下に代表的なものを挙げる。

  • Evoland - Haxe創始者(Nicolas Cannasse)ほかによるインディーRPG
  • Papers, Please - 架空の共産国の入国審査官を疑似体験するゲーム。OpenFLを使用。Metacriticのメタスコア85を獲得。GDC 2014のIndependent Games Festivalにおいて最優秀賞を受賞。
  • OpenFL - Showcase - OpenFLを使用したゲームのショーケース
  • Stencyl - 2Dゲームエディタ。OpenFLを使用。
  • TiVo - Android、iOS、デジタルビデオレコーダのアプリケーションに使用している。[25]

歴史

開発当初から現在まで、Nicolas Cannasseがプロジェクトのリーダーを務める。ActionScriptの代替コンパイラとして開発されたため、Flashターゲットの用途が多かったものの、現在はプラットフォーム中立な言語環境となることを目指している[26]

  • 2005年 10月 フランスのブラウザゲーム開発会社Motion Twin英語版の独自ActionScriptコンパイラMTASCの後継プロジェクトとしてHaxeが誕生(当初の綴りはhaXe)
  • 2006年 5月 Haxe 1.0がリリース、JavaScriptターゲットに対応
  • 2008年 7月 Haxe 2.0がリリース、Franco PonticelliによりPHPターゲットが追加
  • 2009年 7月 Haxe 2.04がリリース、Hugh SandersonによりC++ターゲットが追加
  • 2011年
    • JavaScriptターゲットのメンテナとして参加したBruno Garciaにより、2.08と2.09のリリースにおいてJavaScriptターゲットの最適化が行われた
    • Simon Krajewskiがチームに参加
    • Cauê WaneckによりJavaおよびC#ターゲットが追加
  • 2012年
    • 4月 パリ開催のWorld Wide Haxeカンファレンスにおいて、表記をHaxeに変更すること、次のメジャーバージョンとなるHaxe 3に向けて破壊的変更を行うことがアナウンスされる
    • Nicolas CannasseがMotion Twinより独立、インディーゲーム開発会社Shiro Games英語版およびHaxe Foundationを設立
  • 2013年 5月 Haxe 3.0がリリース

言語名の由来

Haxeの名前は、短くシンプルで使われていないこと、また新しい技術を成功に導くために必要な X を中に持っていること(has a X inside)[27]から命名された。

当初の綴りはhaXeであったが、2012年4月のWorld Wide Haxeカンファレンスにおいて、表記を固有名詞として馴染みやすいHaxeに変更することがアナウンスされた[5]

よく比較される言語

HaxeはJavaScript生成言語(いわゆる「altJS」)のひとつとしてしばしば言及される。比較対象となる主な言語として、以下が挙げられる。

HashLinkは、Nekoの後継とされる新しい仮想マシンで、2016年10月20日に開催された"London Haxe Meetup 20th October 2016"にて発表された[28]x86及びx86-64のWindows、macOS、Linux上で動作する。DirectXSDLOpenALをベースとしたマルチメディア機能のほか、zlibなどの著名なライブラリを内包する。またWindows限定ではあるが、一部のネイティブGUIコンポーネントも利用できる。なお、Neko VMとは異なり静的型付けである。実行にはHashLinkバイトコードファイル(拡張子は.hl)を用いる。

HashLinkの動作形態として、HL/JIT方式とHL/C方式の2種類がある。HL/JIT方式では、実行時コンパイラを通して仮想マシン上で動作させる為、コンパイル速度が高速でデバッグに向いている。一方、HL/C方式では仮想マシンは使用されず、代わりにC言語ソースコードを出力する。出力されたCソースコードは、任意のCコンパイラでビルドでき、より高いパフォーマンスと移植性が期待できる[29]。例えば、iOSやAndroidなどのモバイルOS、PlayStation 4Nintendo Switchなどの家庭用ゲーム機といった、デスクトップ環境に限定されない様々なプラットフォームへの移植が比較的容易となる。実例として、このHashLinkとゲームエンジンであるHeapsで開発されているMotion Twin社のDead Cells[30][31]、PlayStation 4、Nintendo Switch、Xbox One向けに移植されている。

参照

  1. ^ Haxe 4.3.6”. 2024年8月20日閲覧。
  2. ^ Haxe git builds”. 2024年8月20日閲覧。
  3. ^ Haxeの発音について言語開発者による回答
  4. ^ 公式メーリングリストにおけるHaxeの読み方についての会話
  5. ^ a b haXe is now Haxe
  6. ^ a b c d e History”. 2019年11月3日閲覧。
  7. ^ Using external JavaScript libraries”. 2019年11月3日閲覧。
  8. ^ JavaScript”. 2019年11月3日閲覧。
  9. ^ JavaScript”. 2019年11月3日閲覧。
  10. ^ Haxe 2.0.0”. 2019年11月3日閲覧。
  11. ^ Getting started with Haxe/PHP”. 2019年11月3日閲覧。
  12. ^ Haxe 2.4.0”. 2019年11月3日閲覧。
  13. ^ Getting started with Haxe/C++”. 2019年11月3日閲覧。
  14. ^ a b Haxe 2.10.0”. 2019年11月3日閲覧。
  15. ^ .NET version and external libraries”. 2019年11月3日閲覧。
  16. ^ Getting started with Haxe/Java”. 2019年11月3日閲覧。
  17. ^ Replace hxjava-std with Java 8.”. 2019年11月3日閲覧。
  18. ^ a b Haxe 3.2.0-rc.2”. 2019年11月3日閲覧。
  19. ^ Getting started with Haxe/Cppia”. 2019年11月3日閲覧。
  20. ^ Haxe 3.3.0-rc.1”. 2019年11月3日閲覧。
  21. ^ Haxe 3.3.0-rc.1”. 2019年11月3日閲覧。
  22. ^ Haxe 4.0.0-rc.3”. 2019年11月3日閲覧。
  23. ^ Language Features - Haxe - The Cross-platform Toolkit
  24. ^ Enum Instance - Haxe - The Cross-platform Toolkit
  25. ^ WWX2015 Haxe in the Enterprise
  26. ^ Getting Rid of Flash ?
  27. ^ Haxeのネーミングについて言語開発者のコメント
  28. ^ London Haxe Meetup 20th October 2016 - Part 2”. Haxe Foundation. 2019年3月15日閲覧。
  29. ^ About - Haxe Game Engine”. Heaps.io. 2019年3月15日閲覧。
  30. ^ Hello HashLink”. Heaps.io. 2019年3月15日閲覧。

外部リンク


haXe

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/04/17 08:02 UTC 版)

haXe
パラダイム マルチパラダイム
登場時期 2005
開発者 Nicolas Cannasse
最新リリース 2.09[1](2012年4月14日(3日前) (2012-04-14)
型付け 静的
影響を受けた言語 ActionScript, OCaml
プラットフォーム Cross-platform
ライセンス BSD and GPL v2
ウェブサイト haxe.org
テンプレートを表示

haXe(ヘックス[2]、発音記号は /heks/[3][4])はコンピュータ・プログラム用言語の1つであり、対応するウェブサイト上でなら汎用言語として使用でき、オープンソースで汎用性の高いクロスプラットフォームの高級プログラミング言語[5]である。言語は ActionScript 3 から派生していて類似している[6]API も NME により Adobe Flash と同等のものが提供されている[6]

以下のアプリケーションを生成できる

単一の無修正の1つのコードベースから全てのプラットフォーム向けのプログラムを haXe 開発環境内で生成できる[7]

目次

出力ターゲット

現在のターゲットは

以下のターゲットが開発中

言語

haXeは ActionScript 3 にその起源を持っているので、既存の全ての Flash API が使用することができるが、アドビシステムズ社のコンパイラ(例えば、スコーピングおよびデータの型付けに関して)と比べて、haXe はより形式の整ったコードとプログラミング標準を提供する。

haXeは、ActionScript 3.0のように、ECMAScript に似ていますが、ほとんどの ECMAScript コードは変更せずには haXe の上で実行できない。ECMAScript とは異なり、haXeはコンパイル言語である。オブジェクト指向プログラミング、例外、およびクラスパラメータによる型推論を持つ汎用言語である。ジェネリッククラス、リフレクション、イテレータ、関数型プログラミングが言語およびライブラリに組み込まれている[10]。プログラミング言語の中で珍しく、haXeは強い型と動的型の両方の型システムが含まれている。コンパイラが暗黙的に型をチェックし、コンパイル時のエラーを与えるが、それはまた、型チェックをバイパスして、ターゲットプラットフォームの動的な型処理に依存するプログラミングを可能にする。

関数のパラメータは、haXeでは非常に正確に定義することができる:

function multipleparams (threedimensionalarray : Array<Array<Array<Int>>>, stringval : String, boolval : Bool) {
}
// 必須ではない整数値を Int としてわたし、Int を返す
function optionalargument ( ?i : Int ) : Int {
    return 0;
}
// 引数を取らない関数をパラメータとして渡す
function functionasparameter ( f : Void -> Void ) {
    f();
}
// Int を引数としてとり、Int を返す関数をパラメータとして渡す
function anotherfunctionparm ( f : Int -> Int ) {
    var result = f(1);
}
// 任意型を引数としてとり、任意型を返す
function icoulddoanything (d : Dynamic) : Dynamic {
    return d;
}

列挙型は、言語の重要な特徴であり、彼らは自分のパラメータを持っており、再帰的にすることができる[11]。それらは、MLやHaskellのような言語の代数的データ型に似ている。 haXeでは、列挙型は、単にほとんどの言語で採用されている"マジック番号"の値がふられてインデックス化されたものよりも、より抽象的ではある。それらは固有の値が含まれていないが、この例のように変数にインスタンス化することができる。

enum Color {
    red;
    green;
    blue;
    rgb: ( r : Int, g : Int, b : Int );
}
 
class Colors {
    static function toInt ( c : Color ) : Int {
        return switch ( c ) {
            case red: 0xFF0000;
            case green: 0x00FF00;
            case blue: 0x0000FF;
            case rgb(r, g, b): (r << 16) | (g << 8) | b;
        }
    }
    static function validCalls() {
         var redint = toInt(Color.red);
         var rgbint = toInt(Color.rgb(100,100,100));            
    }
}

(haXeのリファレンスから改変)

グラフィカルな用途での haXe の例を示す。ここでの出力ターゲットは Adobe Flash、HTML5、デスクトップアプリケーション、モバイルアプリケーションなどである。これは、Flash の MovieClip オブジェクトと同等の機能を持つ NME の MovieClip を使用して赤い四角形を描画する。OpenGL に対応している環境では、それが利用される。(haXe のウェブサイトより改変)

import nme.display.MovieClip;
 
class Test {
    static function main() {
        var mc:MovieClip = nme.Lib.current;
        mc.graphics.beginFill(0xFF0000);
        mc.graphics.moveTo(50,50);
        mc.graphics.lineTo(100,50);
        mc.graphics.lineTo(100,100);
        mc.graphics.lineTo(50,100);
        mc.graphics.endFill();
    }
}

コンパイラの実装とパフォーマンス

haXe のコンパイラは OCaml 言語で実装されている。 haXe の生成コードは、それぞれのターゲットプラットフォーム上で実行されるため、OCaml の知識は、haXe を使用して開発するのに必要ない。また、これはベンチマークのパフォーマンスがターゲットプラットフォームによって異なることを意味し、各プラットフォームの利用可能な機能を最大限に活用するようにカスタマイズする必要がある。

ある1つのベンチマーク[12]では、同等の ActionScript 3 のコードからアドビシステムズ社のコンパイラにより生成される Adobe Flash 9 (AVM2) バイトコードよりも haXe は優れたパフォーマンスを示した。このベンチマークの公表以来、コンパイラはさらに、Flash が使用していないインライン関数や Adobe Alchemy 向けのオペコードを追加することでパフォーマンスを改善した[13]

Google の multi-language-bench[14] を使ったベンチマークでは、haXe から C++ にコンパイルしたものは、最初から C++ で書かれたものと比較して 39% 程度、Java 言語との比較で 19% 程度遅くなる程度の差であるという結果が出た[15]

統合開発環境

ActionScript に対応してる統合開発環境の多くが haXe にも対応している。FDT や IntelliJ IDEA はリファクタリングにも対応している。

参照

  1. ^ haXe CHANGES
  2. ^ haXe の紹介 - haXe
  3. ^ Nicholas' answer for haXe pronunciation
  4. ^ The talking about haXe pronunciation in haXe official mail list
  5. ^ index - haXe
  6. ^ a b Comparison of Code - haXe
  7. ^ Haxe, iPhone & C++ At Last - Game Haxe
  8. ^ haXe wiki on the community meeting of 28th of January 2010
  9. ^ The awesome news: new C# & Java targets for haXe. C# is coming out first, hopefully on January. Java will follow on.
  10. ^ haXe language reference
  11. ^ haXe reference detailing the use of enum
  12. ^ AS3->haXe port of the Actionscript Physics Library
  13. ^ なぜhaXeを使うのですか? - haXe
  14. ^ multi-language-bench - Benchmarks implemented in multiple languages - Google Project Hosting
  15. ^ Multi-Language-Bench - Game Haxe
  16. ^ JetBrains IntelliJ IDEA Plugin Repository :: haXe Support

外部リンク


Haxe

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/03 01:16 UTC 版)

文字列補間」の記事における「Haxe」の解説

var apples = 4;var bananas = 3;trace('I have $apples apples.');trace('I have ${apples+bananas} fruit.'); 上記コードは以下のように出力するI have 4 apples.I have 7 fruit.

※この「Haxe」の解説は、「文字列補間」の解説の一部です。
「Haxe」を含む「文字列補間」の記事については、「文字列補間」の概要を参照ください。

ウィキペディア小見出し辞書の「haxe」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「haxe」の関連用語

haxeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



haxeのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのHaxe (改訂履歴)、haXe (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの文字列補間 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS