「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@983) [高] [確認待ち]
@983■ (#3081) グループ内変数の値が他のグループ内関数の引数として渡すと空文字に変わる - Tanabe (2022-12-06 14:05) /高 未処理
【症状】グループ内変数の値が他のグループ内関数の引数として渡すと空文字に変わる

【再現方法】
●PrintFoo(x)~
  xと表示


■Fooとは
  ・Print(x)~ // メンバ変数は表示できない?
    xと表示

■Barとは
  ・x_
  ・foo_
  
  ・作る()~
    foo_をFooとして作成
    x_ = 12345678
    
  ・Print()~
    foo_→Print(x_) // "", グループメンバx_がFoo側のメソッドPrintでは空文字となる
    PrintFoo(x_) // "12345678" グローバル関数はx_を受け取れる


barをBarとして作成

bar→Print() // "12345678" が2行表示されると期待していたが、一行目が空文字になる

【要望】グループ内変数を他のグループ内関数の引数として渡せるようにしたいです。
サンプルソースのとおり、Foo::Print(x)でxの値を表示したいとします。
これを、Bar::PrintからFoo::Print(x)を呼び出す形にすると、x=12345678としていても、Foo::Print(x)の時点でx=""となってしまい、引数を正常に渡せません。お忙しいところ恐縮ですが、ご修正をお願いできないでしょうか。

【バージョン】1.586
【その他】

(#3084) v1.588で修正 - クジラ飛行机 (2023-03-13 15:13) /高 確認待ち
グループの関数を呼ぶ前に、一度ローカル変数に代入すれば、正しく実行されますが、グループ変数だと空になってしまいますね。
実は、以前から、グループのメンバ変数利用は、何かしらの問題があることが報告されており、修正が困難でなかなか理由が特定できていませんでした。
今回、この問題を特定して修正しました。

(#3081)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能