URL: http://atnd.org/events/34622
上記本のC#とBooの比較が、中国語サイトに載せられてます。誤りも微妙に修正されていました。しかし読みにくい。
URL: http://www.cnblogs.com/2018/archive/2012/10/10/2623630.html
その中の興味深い例を紹介します。
・C#
var emp = new Employee{ Name = "foo", Id = 15};
・Boo
emp = Employee(Name: "foo", Id: 15)
まず、employeeって単語の紹介。
:研究社の和英辞典より引用
employee 音節em・ploy・ee 発音記号/ɪmpl`ɔɪ〓ː, em‐, ‐plˈɔɪiː/ 【名詞】【可算名詞】 被雇用者,従業員 (⇔employer).
今回。この準備のために、こんなクラスを準備します。
C#で書きましたが、以下のようになります。
GameObjectに特に貼り付けたりしないので、MonoBehaviorは"継承していません"。
public class Employee { public string Name { get; set; } public int Id { get; set; } }
こうすれば、呼べます。
※「Plugins」ディレクトリを作って入れて下さい。
→ さもないとBooから後々呼べません。(これ自体Booで書いてもOK)
C#ではこう書きました。
・EmployeeTestCS.cs(C#)
using UnityEngine; public class EmployeeTestCS : MonoBehaviour { void Awake () { var emp = new Employee{ Name = "foo", Id = 15}; Debug.Log (emp.Name); Debug.Log (emp.Id); } }
→結果
foo
15
・EmployeeTestBoo.boo(Boo)
→ Booではこうです。
import UnityEngine class EmployeeTestBoo (MonoBehaviour): def Awake (): emp = Employee(Name: "foo", Id: 15) Debug.Log(emp.Name) Debug.Log(emp.Id)
JSONっぽい便利な使い方ってのは、
Employee(Name: "foo", Id: 15)のように、「:」で変数と値をマッピングして「,」で区切っているだけってのを意味しました。