[
新規
] - [
ツリー
] - [
スレッド
] [
未解決
] [
緊急
] - [
優先
] - [
検索
] - [
なでしこTOP
]
「なでしこv1」開発掲示板
なでしこv1のバグや要望を書き込む掲示板
[
一覧へ
] > (
@807
)
[高]
[調査中]
@807■
(
#2526
)
関数の引数にグループを指定した場合
- UNOパパ
(2016-01-26 16:21)
/高 未処理
【症状】
関数の引数にグループを指定して、関数内で「グループ判定」をした場合、
引数に指定したグループのSetter Getter用の値がデフォルトになっていると
グループ判定しても空が返される。
【再現方法】サンプルソース、再現手順など
------ここから------
■テストグループ
・値 {=0}
・X ←X設定 →X取得 デフォルト
・X設定(x)~
値 = x
・X取得~
それ = 値
●テスト実施(aで)
aのグループ判定して表示
testとはテストグループ
testでテスト実施
------ここまで------
【要望】どのような解決が望ましいか?
デフォルト指定があってもちゃんとグループ名(上記の場合test)
が返されて欲しい
【バージョン】1.555
編集
↑
(
#2527
)
Re
- 謎のX
(2016-01-26 20:04)
/高 未処理
横から失礼します。
引数をグループとして渡す場合、仮引数宣言に「{グループ}」が必要ではないでしょうか。
●テスト実施({グループ}aで)
aのグループ判定して表示
のように関数を書くと、所望の挙動をします。
編集
↑
(
#2528
)
デフォルト指定があるときだけ
- UNOパパ
(2016-02-01 14:54)
/高 未処理
情報有難うございます。ただ、上記のソースコードで「デフォルト」
部分を削除すれば、ちゃんとグループ判定してくれるんです。
なので引数に{グループ}指定がなくても、ちゃんとグループは
渡せるんですが、「デフォルト」があるときだけグループ判定
出来てません。
関数ではなく普通にグループ判定すれば「デフォルト」指定が
あっても大丈夫なんですけどねえ
編集
↑
(
#2530
)
Re: デフォルト指定があるときだけ
- うぇいく
(2016-02-01 17:35)
/高 未処理
調べてみると、内部での実装にて、関数の引数を扱う部分で引数がグループの場合にうまくいっていないようです。
(ユーザ関数、システム関数(なでしこ自体の命令)の両方)
引数の型がグループだったら・・・という判定があるのですが、実は引数はリンク(参照)としてわたってきており、グループを指定した場合も、グループへのリンクとなっており、判定がうまく機能していないようでした。
折を見て修正します。
おそらく、こうなったタイミングと同じだと思うのですが、実質、変数型確認が"リンク"しか返しません。理由は上記にあるとおりで、変数型確認の命令を呼び出すための引数は、必ずリンク(参照渡し)となるためです。
こちらは、上記とあわせて直すか、もしくは原因となる修正から調査する必要がありそうでした。
編集
↑
(
#2531
)
Re: デフォルト指定があるときだけ
- UNOパパ
(2016-02-05 13:44)
/高 調査中
うぇいくさん、調べて頂き有難うございます。ちょっとバタバタしてて
お返事遅れました。
グループは基本グローバル管理で生成されるので、関数の引数にした場合は
リンク扱いなのは納得ですが、謎のXさんに教えて頂いたみたいに、一々
引数として型指定するのはちょっと違うかなあと感じてます。
あと「グループ判定」ってグループ名が返ってくるとあるのですが、
実際に返ってくるのは変数名(上のサンプルでは「test」)なのも
同じ現象なんでしょうか。
修正頂けるのをお待ちしております。
編集
→
(
#2526
)へ返信する:
名前
タイトル
本文
優先度
低
中
高
緊急
状態
未処理
詳細求む!
調査中
議論中
修正中
確認待ち
再修正依頼
解決
---
重複
---
アイデア
感想
告知
感謝
確認キー
👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。
編集キー
編集時に使うキーを入力(省略可能)
添付ファイル
🎁
ファイルを選択...
画像ファイル(最大300KB)を添付可能