; ラッパーモジュール ; Variant.as #ifndef Variant #ifndef Varian […]
; ラッパーモジュール ; Variant.as #ifndef Variant #ifndef Varian […]
; ラッパーモジュール ; Variant.as #ifndef Variant #ifndef VariantAliasOff #define global vDim dim@Variant #define global vAdd add@Variant #define global vSet set@Variant #define global vReSet reSet@Variant #define global vItem item@Variant #define global vRefItem refItem@Variant #define global vRemove remove@Variant #endif #module Variant thisItem #define global dim@Variant(%1) dimtype %1,5 #define add(%1,%2)%t %i=%2:newmod %1,Variant,%o #modinit var _item thisItem=_item: return #define set(%1,%2)%t %i=%2:__set@Variant %1,%o #modfunc local __set var _item thisItem=_item: return #define reSet(%1,%2,%3) set@Variant %1,item@Variant(%1)%2%3 #modcfunc local item return thisItem #modfunc local refItem var _item _item=thisItem: return #define remove delmod return #global #endif ;-----ここから別ファイル--------------------------------- ; testVariant.hsp #runtime "hsp3cl" #include "Variant.as" #module Program #deffunc main vDim list1 vAdd list1,"ナス" vAdd list1,50 vAdd list1,1.586 mes "【list1】" foreach list1 mes vItem(list1(cnt)) loop mes "【Index 1 changed】" vSet list1(1),256 vReSet list1(2),*,2 foreach list1 mes vItem(list1(cnt)) loop mes "【list2】" vDim list1 vAdd list2,"キュウリ" vAdd list2,51 vAdd list2,1.1024 vAdd list2,*jumping dim item foreach list2 vRefItem list2(cnt),item if vartype(item)=vartype("label") { gosub item } else { mes item } loop mes "【Removed list2】" vRemove list2(1) vRemove list2(3) dim item foreach list2 vRefItem list2(cnt),item if vartype(item)=vartype("label") { gosub item } else { mes item } loop return *jumping mes "ラベルジャンピング!": return #global main