2016年3月17日 (木)

こんなのでいいのかなぁ。ズンドコキヨシ  ObjectScript / MUMPS


2016/3/18追記#3

よ〜く見てたら、ズン!は4回だったw 結局この83文字のパターンマッチング版でよかったのか〜〜w (おしまい)

S l="",w(0)="ズン!",w(1)="ドコ!" F  S l=l_w($R(2)) I l ?.E4"ズン!"1"ドコ!" W !,l,"キ・ヨ・シ!" Q

USER>S l="",w(0)="ズン!",w(1)="ドコ!" F  S l=l_w($R(2)) I l ?.E4"ズン!"1"ドコ!" W !,l,"キ・ヨ・シ!" Q

ズン!ズン!ドコ!ズン!ドコ!ドコ!ズン!ズン!ドコ!ズン!ズン!ドコ!ドコ!ズン!ドコ!ドコ!ドコ!ズン!ドコ!ズン!ドコ!ズン!ドコ!ドコ!ズン!ズン!ズン!ズン!ドコ!キ・ヨ・シ!


2016/3/18追記#2

旧構文のFORとIFを使えば82文字まで短縮できた。

S l="",w(0)="ズン!",w(1)="ドコ!" F  S l=l_w($R(2)) I l["ズン!ズン!ズン!ドコ!" W !,l,"キ・ヨ・シ!" Q

USER>S l="",w(0)="ズン!",w(1)="ドコ!" F  S l=l_w($R(2)) I l["ズン!ズン!ズン!ドコ!" W !,l,"キ・ヨ・シ!" Q

ドコ!ズン!ズン!ドコ!ドコ!ズン!ドコ!ズン!ズン!ズン!ズン!ズン!ドコ!キ・ヨ・シ!


調子に乗ってパターンマッチに書き換えたら1文字増えて83文字w orz

S l="",w(0)="ズン!",w(1)="ドコ!" F  S l=l_w($R(2)) I l ?.E3"ズン!"1"ドコ!" W !,l,"キ・ヨ・シ!" Q

USER>S l="",w(0)="ズン!",w(1)="ドコ!" F  S l=l_w($R(2)) I l ?.E3"ズン!"1"ドコ!" W !,l,"キ・ヨ・シ!" Q

ズン!ズン!ドコ!ドコ!ズン!ズン!ドコ!ズン!ズン!ズン!ドコ!キ・ヨ・シ!



2016/3/18追記

85文字までに縮めたw もうむりか?

S l="",w(0)="ズン!",w(1)="ドコ!" F {S l=l_w($R(2)) I l["ズン!ズン!ズン!ドコ!" {W !,l,"キ・ヨ・シ!" Q}}

USER>S l="",w(0)="ズン!",w(1)="ドコ!" F {S l=l_w($R(2)) I l["ズン!ズン!ズン!ドコ!" {W !,l,"キ・ヨ・シ!" Q}}

ズン!ズン!ドコ!ドコ!ズン!ズン!ドコ!ズン!ズン!ドコ!ズン!ドコ!ドコ!ズン!ズン!ズン!ドコ!キ・ヨ・シ!

こんなのでいいのかなぁ。ズンドコキヨシ

もっといいのが浮かびそうだっただけど、眠気で頭まわらなくなってきたので、一旦これでw

ズンドコキヨシまとめ


M言語というか、MUMPSというか、Caché ObjectScriptでやっつけてみた

S s=0 F {S r=$R(2) W !,$CASE(r,0:"ズン!",1:"ドコ!") S s=$CASE(r,0:$CASE(s,0:1,1:2,2:3,:3),1:$CASE(s,3:4,:0)) W:s=4 !,"キ・ヨ・シ!" Q:s=4}
USER>S s=0 F {S r=$R(2) W !,$CASE(r,0:"ズン!",1:"ドコ!") S s=$CASE(r,0:$CASE(s,0:1,1:2,2:3,:3),1:$CASE(s,3:4,:0)) W:s=4 !,"キ・ヨ・シ!" Q:s=4}

ズン!
ズン!
ドコ!
ドコ!
ドコ!
ズン!
ドコ!
ズン!
ズン!
ドコ!
ズン!
ドコ!
ドコ!
ズン!
ズン!
ドコ!
ズン!
ズン!
ズン!
ズン!
ズン!
ズン!
ズン!
ドコ!
キ・ヨ・シ!

USER>halt
[oracle@pleco ˜]$

| | コメント (0) | トラックバック (0)