オプション型の変数と通常の型の変数の比較について[Verse]

以下の内容はフォートナイトv29.30に基づいてます。

目次

今回の内容

 オプション型の変数と通常の型の変数を比較した場合の振る舞いについて記載している。

そもそもOption型とは

オプション型の変数と通常の変数の比較

変数の定義

var A : ?int = option{3} #オプション型で、初期値は3
var B : ?int = option{3} #オプション型で、初期値は3
var C : int = 3      #通常の整数型で、初期値は3

変数の比較

  1. オプション型同士の比較
    • 変数「A」「B」はどちらもオプション型で、含まれている値は同じ。
    • この場合、これらの変数は等しいと評価される。
if(A = B): #オプション型同士の比較。この条件は真と評価される。
  1. オプション型と通常の型の比較
    • 変数「A」はオプション型、「C」は通常の整数型で、含まれている値は同じ。
    • この場合、これらの変数は等しいと評価されない。
if(A = C): #オプション型と通常の型の比較。この条件は偽と評価される。

オプション型と通常の型の変数を比較する方法

  1. オプション型の変数から参照した値を使用する
    • オプション型の変数「A」から参照した値を代入した通常の型の変数「AValue」と、通常の型の変数「C」を比較する。
    • この場合は等しいと評価される。
if (AValue := A?):      #オプション型の変数「A」の値を参照し、「AValue」に代入する
    if(AValue  = C):    #通常の型同士の比較。この条件は真と評価される。
  1. 通常の型の値を代入したオプション型の変数を使用する
    • オプション型の変数「A」と、通常の変数「C」の値を代入したオプション型の変数「D」を比較する。
    • この場合は等しいと評価される。
var D : ?int = false   #オプション型の変数「D」を定義する
set D = option{C}      #通常の変数「C」の値を代入する
if(A  = D):            #オプション型同士の比較。この条件は真と評価される。

まとめ

  • オプション型の変数と通常の型の変数を比較するには、型を合わせる必要がある
    • オプション型の変数から値を参照し、通常の型の変数として比較する。
    • 通常の型の値をオプション型の変数に代入し、オプション型の変数として比較する。

 

コメント

コメントする

目次