Linux(mono)でVB、メソッド

今回もVBです。

メソッドを覚えます。

犬プログラムです。メソッドとして吠える(Bark)を入れました。

takk@deb9:~/vbtest$ cat -n test.vb
     1  Imports System.Console
     2
     3  Public Class Dog
     4          Sub New()
     5                  WriteLine("犬です")
     6          End Sub
     7          Sub Bark()
     8                  WriteLine("ワンワン")
     9          End Sub
    10  End Class
    11
    12  Public Class TestClass
    13          <STAThread()> _
    14          Shared Sub Main()
    15                  dim app = new Dog()
    16                  app.Bark()
    17          End Sub
    18
    19  End Class
takk@deb9:~/vbtest$

ビルド

takk@deb9:~/vbtest$ vbnc test.vb
Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.0.1 - tarball)
Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.

/home/takk/vbtest/test.vb (15,10) : warning VBNC42020: Variable declaration without an 'As' clause; type of Object assumed.
Assembly 'test, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to '/home/takk/vbtest/test.exe'.
There were 0 errors and 1 warnings.
Compilation successful
Compilation took 00:00:00.5262760
takk@deb9:~/vbtest$

errorはゼロですが、warningがあるようです。

でも、とりあえず、実行。

takk@deb9:~/vbtest$ mono test.exe
犬です
ワンワン
takk@deb9:~/vbtest$

動きますね。

では、warningを見てみます。

/home/takk/vbtest/test.vb (15,10) : warning VBNC42020: Variable declaration without an 'As' clause; type of Object assumed.

Asですか。
As使ってほしいようです。
では、使いましょう。

    15                  dim app = new Dog()
    16                  app.Bark()

を、こうしました。

    15                  dim app as new Dog()
    16                  app.Bark()

ビルドしてみます。

takk@deb9:~/vbtest$ vbnc test.vb
Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.0.1 - tarball)
Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.

Assembly 'test, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to '/home/takk/vbtest/test.exe'.
Compilation successful
Compilation took 00:00:00.4904550
takk@deb9:~/vbtest$

もちろん、実行もできます。

takk@deb9:~/vbtest$ mono test.exe
犬です
ワンワン
takk@deb9:~/vbtest$

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA