7 返信 最新の回答 日時: Jan 26, 2015 1:21 AM ユーザー:fuwa_satoshi

    変数宣言直後の値

    fuwa_satoshi

      タイトル

      変数宣言直後の値

      フォーラムに投稿

      変数宣言直後の値はなにが入っているのでしょうか。

      例えば、C言語の場合は不定なため、クリアするか初期値を設定します。

      VBAの場合は変数の型に合わせて初期値が決まっているようです。

      FileMakerの場合はなにがはいっているのでしょうか。

      不定なのか、絶対にNULLなのか、ご存知のかたがいましたら、ご教授お願い致します。

      参考(根拠)になる、URLなどあると非常にたすかります。

      よろしくお願い致します。

        • 1. Re: 変数宣言直後の値
          sago350@未来Switch

          変数宣言直後というと、具体的にどういう状況でしょうか?

          スクリプト変数という前提でいうと、
          変数宣言時に何か値を入れないと変数が定義されません。(データビューアで確認できます)
          FileMakerは変数の定義と値を入れることがセットなので、変数宣言直後という状況がイマイチ解りません。

          Let文内の変数も同様かと思います。

           

          的外れな内容を回答している様な気もしますので、その場合はすみません。

          • 2. Re: 変数宣言直後の値
            fuwa_satoshi

            説明不足で申しわけありません。

            スクリプトのなかでの話です。

            例えば、宣言して初期値を与える前に、If文などで使われた場合は

            必ず$IDの中身はNullなのでしょうか。

            If [$ID=100]

             ~処理~

            End If

             

            ご教授お願い致します。

            • 3. Re: 変数宣言直後の値
              sago350@未来Switch

              そもそも変数を定義してないので、Nullかと。

              しかし、何故ゆえにそこの仕様が気になったのでしょうか?
              別で問題が起こって、その原因追及の為に変数の仕様が気になったんでしょうか?

              • 4. Re: 変数宣言直後の値
                Shin

                FMでは、変数の宣言、という物が無く、初期設定が変数の宣言と同義になっています。

                その意味では、自分で宣言した値が設定されている、という事になるでしょうが。

                変数を設定、や、let() の中で設定を行なわずに変数を参照しても、存在していない変数になりますので、null が返ってくるでしょうね。

                言語のコンパイラーのソースを書いたことがあるとよくわかると思いますが、CやVBでは、変数等を宣言する時に、メモリー上等にその内容を保存する為のエリアを配置します。その時に、そこへのポインター(メモリー空間上のアドレス)を設定しますが、その充てがったメモリーの内容については、感知しません。ですから、そのメモリーがそれ以前に別の用途に使われていれば某かの値が設定されていることもあり,初期内容は不定、という事になります。ですから、イニシャライズが必要ですね。ここは、FMでの動きと全く異なる所です。

                • 5. Re: 変数宣言直後の値
                  fuwa_satoshi

                  ありがとうございます。以下の一文ですっきりしました。

                  変数を設定、や、let() の中で設定を行なわずに変数を参照しても、"存在していない変数"になりますので、null が返ってくるでしょうね。

                  変数を宣言して、初期値を与えないで大丈夫かどうか議論していて、私は初期値をちゃんと設定したいのですが、

                  絶対Nullだという意見がありまして、投稿させていただきました。

                  • 6. Re: 変数宣言直後の値
                    Shin

                    FMの中で、変数の宣言だけを行なう、という事が可能なのでしょうか。

                    • 7. Re: 変数宣言直後の値
                      fuwa_satoshi

                      すみません。

                      変数宣言しては誤りで、変数宣言をせずに、いきなりIFなどの条件式で使うと中身がなにかという議論でした。

                      記載間違い申しわけありませんでした。