UWSCにおける変数の扱い方

解決済みの質問

UWSCにおける変数の扱い方

UWSCにおける変数の扱い方
UWSCでの質問です。
変数を変数で指定することは可能でしょうか?

joken = 1
ka_mes = "OK"
hi_mes = "NG"
ifb joken = 1 then
hensu = ka
else
hensu = hi
msgbox(hensu + "_mes") // ←この結果として「OK」と表示させたい

簡略化していますので、この例では、素直にif文のthenとelseにmsgbox命令を書けばいいのですが、実際のプログラムはhensuを何度も使うためそうもいきません。
よろしくお願いします。

投稿日時 - 2008-11-30 02:43:28

QNo.4517911

すぐに回答ほしいです

質問者が選んだベストアンサー

// こういうこと?
joken = 1
ka_mes = "OK"
hi_mes = "NG"
ifb joken = 1 then
 hensu = "ka"
else
 hensu = "hi"
endif
msgbox(eval(hensu + "_mes"))

投稿日時 - 2008-12-01 01:19:16

補足

もしかして、眠たい詩人さんですか?
いつも、サイトを参考にさせてもらってます。
拙い質問ですが、質問の意図を汲み取ってご回答頂きありがとうございました。

投稿日時 - 2008-12-01 04:07:34

お礼

ありがとうございます。
やりたいのはこういうことです!

助かりました。

投稿日時 - 2008-12-01 04:06:21

0人が「このQ&Aが役に立った」と投票しています

回答(4

ANo.3

UWSCは連想配列が使えるようなので、そっちの方がより近いやり方になりますか。

HashTbl mes
mes["ka"] = "OK"
mes["hi"] = "NG"

ifb joken = 1 then
hensu = "ka"
else
hensu = "hi"
endif
msgbox(mes[hensu])

投稿日時 - 2008-11-30 10:31:34

お礼

ありがとうございました。

投稿日時 - 2008-12-01 04:12:01

ANo.2

なんでそんなトリッキーなことがしたいのでしょうか?
っていうのと、そんな器用な真似は出来ないと思います。

代替案としては配列使うくらいですかねぇ。

dim mes[1] = "OK", "NG"
ifb joken = 1 then
hensu = 0
else
hensu = 1
endif
msgbox(mes[hensu])

投稿日時 - 2008-11-30 10:13:11

ANo.1

使ったことはないので直感で書きますが、
ifb (joken = 1) then
hensu = ha_mes
else
hensu = hi_mes
endif
msgbox(hensu)
では駄目なんですか?
変数の中身を別の変数に入れる、なんて普通にできると思うんですが……

投稿日時 - 2008-11-30 04:23:55

補足

ご回答ありがとうございます。

言葉が足らず申し訳ありません。
ご回答頂いた方法はもちろん可能です。

ただ、今回やりたいのは、「hensu + "_mes"」みたいに変数名自体を可変で設定したいのです。

よろしくお願いします。

投稿日時 - 2008-11-30 09:31:51

新着

あなたの愛車は今いくら?

愛車無料査定Q&A特集

ニキビケアQ&A特集

スッピンでも輝くモテ美肌に。

教えて!みんなの婚活Q&A特集

みんなの婚活体験談、秘訣がいっぱい!

お部屋探しはCHINTAI

マチから探せる新しいお部屋探し!

注目ピックアップ

OKちゃんねる

OKWaveからみなさんに質問!

OKWave2009年ランキング

話題のQ&Aをランキングでご紹介!

スタッフブログ

知って得する!お得な情報をお届け!

おすすめリンク