HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
1022
Shark++モジュール変数でタスクシステムっぽいことを1解決


Shark++

リンク

2006/10/22(Sun) 22:46:04|NO.3055

昨日、寝る直前にふと思いついたことをやってみたらうまくいったので書いてみました
なんかちょっと裏技っぽくて想定して実装してあるか不安ですが setmod があるので恐らく想定してあることでしょう...
もうすでに誰かが思いついてすでにやっていそうですが...

#enum global TYPE_UNKNOWN = 0 #enum global TYPE_S #enum global TYPE_N #enum global TYPE_SN #enum global TYPE_NNN #enum global TYPE_SSSSS #enum global TYPE_X #module "s" type, s1 #modinit str _s1 type = TYPE_S s1 = _s1 return #modfunc disp_s mes "type="+type+",s1="+s1 return #global #module "n" type, n1 #modinit int _n1 type = TYPE_N n1 = _n1 return #modfunc disp_n mes "type="+type+",n1="+n1 return #global #module "sn" type, s1, n1 #modinit str _s1, int _n1 type = TYPE_SN s1 = _s1 n1 = _n1 return #modfunc disp_sn mes "type="+type+",s1="+s1+",n1="+n1 return #global #module "nnn" type, n1, n2, n3 #modinit int _n1, int _n2, int _n3 type = TYPE_NNN n1 = _n1 n2 = _n2 n3 = _n3 return #modfunc disp_nnn mes "type="+type+",n1="+n1+",n2="+n2+",n3="+n3 return #global #module "sssss" type, s1, s2, s3, s4, s5 #modinit str _s1, str _s2, str _s3, str _s4, str _s5 type = TYPE_SSSSS s1 = _s1 s2 = _s2 s3 = _s3 s4 = _s4 s5 = _s5 return #modfunc disp_sssss mes "type="+type+",s1="+s1+",s2="+s2+",s3="+s3+",s4="+s4+",s5="+s5 return #global #module "x" type, n1, n2, n3, n4, n5, n6, n7, n8, n9, na #modinit type = TYPE_X n1 = 0 n2 = 1 n3 = 2 n4 = 3 n5 = 4 n6 = 5 n7 = 6 n8 = 7 n9 = 8 na = 9 return #modfunc disp_x mes "type="+type+",n1="+n1+",n2="+n2+",n3="+n3+",n4="+n4+",n5="+n5+",n6="+n6+",n7="+n7+",n8="+n8+",n9="+n9+",na="+na return #global #module "base" type #modinit type = TYPE_UNKNOWN return #modfunc gettype return type #deffunc disp array v foreach v gettype v.cnt switch stat case TYPE_S : disp_s v.cnt : swbreak case TYPE_N : disp_n v.cnt : swbreak case TYPE_SN : disp_sn v.cnt : swbreak case TYPE_NNN : disp_nnn v.cnt : swbreak case TYPE_SSSSS : disp_sssss v.cnt : swbreak case TYPE_X : disp_x v.cnt : swbreak swend loop return #global newmod v, n, 1 newmod v, s, "test" newmod v, sn, "TEST", 1 newmod v, nnn, 4, 5, 6 newmod v, sssss, "aa", "bb", "cc", "dd", "ee" newmod v, x disp v



この記事に返信する


Shark++

リンク

2006/10/22(Sun) 22:48:52|NO.3056




ONION software Copyright 1997-2021(c) All rights reserved.