Nemerle
前回からずいぶん(一ヶ月以上!)間が空いてしまいました. 演習問題が残っていたので,ちょうどいいリハビリになりました. Exercise 1 Personクラスを作ってみる using System; using System.Console; using Nemerle.Utility; class Person { [Accessor] fi…
Nemerleはおろか日記の更新も滞っていますが,ようやく少しずつ先が見えてきたのかな?ちなみにこの3連休は,初日に娘とアンパンマンを見て,残り2日は仕事でした. Modules C#2.0になってstaticクラスが導入されましたが,Moduleはまさにそんな感じですね…
Static constructors 本当はこの前にExamplesがあるのですが,とりあえずパス. Staticコンストラクタは,プログラム(AppDomain)単位でただ1回だけ呼び出される,staticフィールドを初期化するために用意されたコンストラクタです.ちなみに呼び出されるのは…
カスタム属性 たぶんC#のそれと一緒なんでしょう. Nemerleでは,カスタム属性はtop-levelマクロで再利用されると書かれていて,とりあえずtop-levelマクロってなに?ってところが気になりますね.まぁ楽しみは先にとっておきましょう. メソッド メソッドは…
続きは明日,とかいいながらずいぶん時間が経ちました. まぁ,のんびりといきましょう. 前回はNemerleでSingletonってどうするの?って話でした.こんなときはとりあえずC#で実装(^^;; using System; namespace ConsoleApplication1 { class NameSingleton…
mutability これは前回の日記と,それに対するakirameiさんのコメントで言い尽くしてますよね. なので省略. インスタンスメンバとスタティックメンバへのアクセス クラスはモデルであり,インスタンスはメモリ上に実体化されます.インスタンスメソッドを…
ここからはちょっとずつやります. クラス定義 クラス定義するときは,classキーワードを使う class MyClass { // something inside }はい,問題なしです. 修飾子 大きく3種類ありまして, アクセス修飾子(public/internal/private/protected/protected int…
早速演習に取り掛かります. Exercise 2 問題はこんな感じです. ユーザがオペレーションを選択できるように、先ほどのプログラムにメニュー(可能なオペレーションのリストと、選択のためのプロンプトを持つもの)を追加する.数値を読み込むメソッドとメニュ…
演習に入る前に…… 昨日のサンプルで, class Asker { public static Run () : string { System.Console.ReadLine () } } def name = Asker.Run (); System.Console.WriteLine ("Hello " + name);最後の2行が気になってましたが, http://nemerle.ring.hatena…
さて,はじめましょうか. Values and Variables 変数宣言ですが, def mutable の2通りあるらしいです.defとして宣言した変数は変更不可(readonly)なのに対し,mutableで宣言した変数はいつでも変更可能なのだとか. 当然defとして宣言する場合,初期化が…