これでVB6の構文は全部捉えきれるかな? function run(id1,id2) { var textarea1 = document.getElementById(id1); var textarea2 = document.getElementById(id2); var v = textarea1.value.match(/([a-zA-Z][a-zA-Z0-9_]*([\$\#\!\&]|)|[0-9]+(\.[0-9]+|)([\$\#\!\&]|)|\.[0-9]+([\!\#]|)|"[^"]+"|[\>\<]\=|\=[\<\>]|\<\>|\>\<|[\+\-\*\/\\\(\)\=\<\>\.:,_]|'.+| +)/g); var t = '', i; for(i=0;i<v.length;i++) { t += i + ' = "' + v[i] + '"\n'; } textarea2.value = t; }
Sub Foo(x As integer, y As integer) x = 5 ' コードは、 ' Main のローカル変数である z を y = 6 ' x と y の 2 とおりの名前で参照します。 End Sub Sub Main Dim z As integer Foo z,z End Sub
>>47 > オブジェクトを使用する場合、特に初心者に向けての忠告であれば > 宣言1回、SET1回で終わるのが大抵なのだから > あえて複数SETで多参照とか前提にして > 簡単な事をあえて難しく見せることに意味はないよね。 関数を使わない初心者? さすがにそんな初心者は想定してなかったなw VBの構文忘れたから適当に書くけど sub func1 Dim a As Cls c = new Cls func2(c) set c = Nothing '最後の参照がなくなった時点でTerminateが発生する end sub sub func2(c) func3(c) set c = Nothing ' Nothing代入してもTerminateは発生しない end sub sub func3(c) func4(c) set c = Nothing ' Nothing代入してもTerminateは発生しない end sub