firstとは?
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /Fortnite.com/Game }
first_sample_device := class(creative_device):
OnBegin<override>()<suspends>:void=
Numbers := array{0, 1, 2, 3, 4, 5}
if:
FirstEvenNumber :=
first:
Element : Numbers
Mod[Element, 2] = 0
then:
Print("The first even number in (Numbers) is: {FirstEvenNumber}")
else:
Print("There are no even number")まずは簡単な例から紹介します。firstは配列を分解し条件を記述できます。そして、その条件を満たした最初の要素を返す簡単な式です。
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /Fortnite.com/Game }
first_sample_device := class(creative_device):
OnBegin<override>()<suspends>:void=
Numbers := array{0, 1, 2, 3, 4, 5}
if:
EvenNumbers :=
for:
Element : Numbers
Mod[Element, 2] = 0
do:
Element
FirstEvenNumber := EvenNumbers[0]
then:
Print("The first even number in (Numbers) is: {FirstEvenNumber}")
else:
Print("There are no even number")先ほどのコードは、このように書き換えることも可能です。
分解と一致
first式の簡単な仕組みを解説します
まずは分解
for式と同じく、「Element : Array」の形式で配列やgeneratorを展開することができます。
条件チェック
first式内では条件を記述できます。
一致する最初だけを取り出す
分解し、条件をチェックし、式が失敗せずに終わると、firstはその時点での要素を返します。今回は偶数である場合に条件を満たして式が成功するため、その最初の偶数である「2」がFirstEvenNumberに入ります。
おまけ
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /Fortnite.com/Game }
first_sample_device := class(creative_device):
OnBegin<override>()<suspends>:void=
Numbers := array{0, 1, 2, 3, 4, 5}
if:
FirstEvenNumber :=
first:
Element : Numbers
Mod[Element, 2] = 0
do:
Element
then:
Print("The first even number in (Numbers) is: {FirstEvenNumber}")
else:
Print("There are no even number")for式と形式を合わせるために、doで明示的に取り出す要素を指定することができます。first単体の場合は、そのインデント内の最後を返すのですが、doを指定すると、do内の要素を返すようになります。