Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

VBで {...} (プレース:ブロック指定)が欲しい時

試行錯誤でプログラムテストしている時,
変数の有効範囲を考慮するのが面倒なとき , C/C++の ブロック指定が欲しくなります。
例)
 {
   int i;
  i=0;
   i +=1;
   ::
 }

VBでは 使えないので 
  Do
    Dim i as integer
    i=10
    .....
  Loop while False
  Do
    Dim i as integer
    i=300
    :::::
  Loop while False

などと書いて, Block内で変数をClose してテストしてます。

時々、解消しないまま納品して恥をかく事もありますが愛嬌でごまかしてます。

一時的な処置とはいえ,行儀の悪い使い方かな?
 

 

投稿日時 : 2006年10月12日 1:20

Feedback

# re: VBで {...} (プレース:ブロック指定)が欲しい時 2006/10/12 8:35 じゃんぬ

意味がないことは先に明示化した方が良いでしょう。
そういうわけで、せめて、

If True Then

End If

か、

With Me

End With

でしょう。

参考リンク
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28521&forum=7&start=9

# re: VBで {...} (プレース:ブロック指定)が欲しい時 2006/10/12 11:03 かるあ

Try
処理
Finally
End Try

っていうのも見たことあります。
じゃんぬさんの例のがわかりやすいですね

# re: VBで {...} (プレース:ブロック指定)が欲しい時 2006/10/12 13:43 ognac

じゃんぬ さん、かるあ さんありがとうございます。
いろいろありますね.
with me
:
End With
が気に入りました。
  Begin....End 句くらいは在ってほしいですね。

# re: VBで {...} (プレース:ブロック指定)が欲しい時 2006/10/12 16:19 ぽぴ王子

もしかすると書き込むのは初めてかもしれません。
ぽぴ王子と言います。よろしくお願いします。

昔、Delphi for Win32 を使っていたときに、やはり似たようなことをしていました。単に break が
したかっただけなのですけどね。

// ダミーループ
repeat
(処理いろいろ)
(人生いろいろ)
if 女だっていろいろ then
begin
break;
end;
(咲き乱れるの)
// ダミーループ終わり
until false;

> 意味がないことは先に明示化した方が良いでしょう。
ここは大事ですね。ちゃんと書いておかないと、あとで人的最適化(何それ)されたときに「こ
んなのいらないジャン。ポイッ」とかやられそうです。

じゃんぬさんの例は目から鱗というか。しかし

> With Me
結婚してくれ。

> End With
やっぱり別れよう。

ってな感じで、人生って奥深いんだなと思いました(いや、それ違うし)。

# re: VBで {...} (プレース:ブロック指定)が欲しい時 2006/10/12 19:04 ognac

ぽぴ王子 さん、はじめまして。

>もしかすると書き込むのは初めてかもしれません。
ぶさいくろうさんのPageで間接的に絡みましたね。その節はありがとうございました。

>ここは大事ですね。ちゃんと書いておかないと、あとで人的最適化(何それ)されたときに「こんなのいらないジャン。ポイッ」とかやられそうです。
まさに同感です。



# re: VBで {...} (プレース:ブロック指定)が欲しい時 2006/10/13 0:23 R・田中一郎

> With Me
結婚してくれ。

> End With
やっぱり別れよう。

ぽぴ王子さん、おもしろ杉ですw

# re: VBで {...} (プレース:ブロック指定)が欲しい時 2006/10/16 12:00 ぽぴ王子

> ぶさいくろうさんのPageで間接的に絡みましたね。その節はありがとうございました。
そういえばそうでしたね。
なんか勝手に代弁しちゃったような気がして(実際そんな風に見えていたので)アレ
かなーと思いましたが(笑)。

今頃思い出したわけですが、Delphi を使っていたときは

while true do
begin
 処理いろいろ

 // わざとbreak
 break;
end;

てな漢字で書いていたのを思い出しました。
そんでもって end 手前の break を書き忘れてちょくちょく無限ループに入っていたこ
とも思い出しました。というかトラウマです orz
そういうのもあって「言語としてブロックをサポートしてくれていたら良かったのに」と
思った記憶があります。その前に C をずっと使っていたので余計に。
だからこそコメントでちゃんと「存在意義」を主張しておかないと、あらぬ誤解を受け
てポイッされちゃうんですよね。困ったもんだ…

> ぽぴ王子さん、おもしろ杉ですw
ウケて良かった(笑)
というか、With Me と言ったら直訳すると「一緒になろう」=「結婚しよう」って意味か
なーと思ったわけです。
そんでもって、With が End になるなら、それはやっぱり離婚ってことなのかなと。
ちなみにぽぴ家は With Me のまま無限ループに入っております。
誰がうまいこと言えと(ry

タイトル
名前
Url
コメント