何回続くか分かりませんが、よろしくです。
まず最初は、変数宣言の方法です。
Javaだとこんな感じですね。
Code:
String str = "ABC";
Foo foo = new Foo();
List list = new ArrayList();ちょっとJavaとは異なりますが、これをCurlで書くと。
Code:
{let str:String = "ABC"}
{let foo:Foo = {Foo}}
{let list:{Array-of String} = {{Array-of String}}}但し、このletや後述するdef/setというものに関しては、以下のように括弧を省略することができます。
Code:
let str:String = "ABC"
let foo:Foo = {Foo}
let list:{Array-of String} = {{Array-of String}}但し、グローバル変数のようにトップレベルに定義した場合は省略できません。
バージョン6からはdefが追加され、型推論がされるようになりました。
(但し、defは"let constant"と同様で、値の上書きはできないです。)
Code:
|| Curl
def str = "ABC"
def foo = {Foo}
def list = {{Array-of String}}Java7から同様にジェネリクスが推論されるようになったようですね。(ちなみに、JavaのジェネリクスをCurlでは、パラメータ化クラス と呼んでいます。)
Code:
List list = new ArrayList<>();次に値への代入ですが、Curlではsetというものを使う必要があります。
Code:
// Java
String str = "ABC";
str = "DEF";Code:
|| Curl
let str:String = "ABC"
set str = "DEF"ちなみにコメントはJavaでは、1行なら"//"で、複数行なら"/* comment */"ですが、Curlでは1行なら"||"、複数行なら"|# comment #|"です。