<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>企画「マイナー言語を使ってみよまいか」</title><link>http://blogs.wankuma.com/valkyrie/category/1775.aspx</link><description>企画「マイナー言語を使ってみよまいか」</description><managingEditor>鶏唐揚</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>鶏唐揚</dc:creator><title>今後</title><link>http://blogs.wankuma.com/valkyrie/archive/2010/05/22/189277.aspx</link><pubDate>Sat, 22 May 2010 11:07:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2010/05/22/189277.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/189277.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2010/05/22/189277.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/189277.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/189277.aspx</trackback:ping><description>&lt;P&gt;お久しぶりです。最近仕事が市外へ出ているので全然更新できません&amp;#8230;&lt;br&gt;
&lt;br&gt;
さてマイナー言語の今後ですが、いろいろ候補を挙げていたものの&lt;br&gt;
時間がなく全部やるのは厳しくなりました。&lt;br&gt;
&lt;br&gt;
そこで、しぃ言語やIMWはやれることに限界があるのと、&lt;br&gt;
MixJuiceはマイナーではなかった＆普通にJavaの拡張なので&lt;br&gt;
マイナー言語として紹介するのも&amp;#8230;というわけで&lt;br&gt;
既に着手しているMysticSLだけに絞ってやっていこうかなと思っています。&lt;br&gt;
&lt;br&gt;
今後おもしろそうなマイナー言語を発見したらやるかもしれませんが&lt;br&gt;
基本デスクトップアプリ向けのものしかやりません&lt;br&gt;
（ゲーム向け、Webアプリ向けはやらない） &lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/189277.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>鶏唐揚</dc:creator><title>[WWS2008][MysticSL]CGI練習その2</title><link>http://blogs.wankuma.com/valkyrie/archive/2009/05/30/173838.aspx</link><pubDate>Sat, 30 May 2009 03:01:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2009/05/30/173838.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/173838.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2009/05/30/173838.aspx#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/173838.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/173838.aspx</trackback:ping><description>&lt;P&gt;
本日は重力語翻訳を作りますｗ&lt;br /&gt;&lt;br /&gt;
重力語にも様々な方言があるのですが、&lt;br /&gt;
今回はカタカナの相違が激しいヂッハベ弁とします&lt;br /&gt;
&lt;table bgcolor="white" border=1&gt;
&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;&lt;font face="ＭＳ ゴシック" color="black"&gt;
&lt;font color=green&gt;'#!MSL.exe -h -e&lt;/font&gt;
&lt;font color=blue&gt;#include&lt;/font&gt; [CGI.msm]
&lt;font color=green&gt;'/////標準入力定数/////
'///POST_DATA:POSTされたデータ(NullC区切り)
'///QUERY_STRING:アドレス付属データ(NullC区切り)
'///HTTP_COOKIE:クッキー
'/////標準出力はPrint命令を使用します。/////&lt;/font&gt;

    MysticCGI [&lt;font color=blue&gt;False&lt;/font&gt;]
    GetData []
    
    &lt;font color=green&gt;'/////ここから開始/////&lt;/font&gt;
&lt;font color=blue&gt;#method&lt;/font&gt; [gLangEnc, 2, *~gLangEnc]

&lt;font color=blue&gt;String&lt;/font&gt; [postDat, retGLang]

    Print [&lt;font color=gray&gt;"&amp;lt;html&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;body&amp;gt;\n"&lt;/font&gt;]
    
    SplitEx [postDat, POST_DATA, &lt;font color=blue&gt;MSL&lt;/font&gt;.NullC]
    Replace [postDat, &lt;font color=gray&gt;"text="&lt;/font&gt;, &lt;font color=gray&gt;""&lt;/font&gt;, postDat]
    QueryDecode [postDat, postDat]
    
    Print [&lt;font color=gray&gt;"&amp;lt;big&amp;gt;&amp;lt;strong&amp;gt;"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"重力語(ヂッハベ弁) 翻訳"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;/strong&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;\n&amp;lt;br /&amp;gt;\n"&lt;/font&gt;]
    
    &lt;font color=green&gt;//フォーム部&lt;/font&gt;
    Print [&lt;font color=gray&gt;"&amp;lt;div&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"日本語を入力してください。\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;form method=\qPOST\q action=\qglang.mgi\q&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;textarea name=\qtext\q rows=5 cols=32&amp;gt;\n"&lt;/font&gt;]
    Print [postDat]
    Print [&lt;font color=gray&gt;"&amp;lt;/textarea&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;input type=\qsubmit\q value=\q翻訳\q&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;/form&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;/div&amp;gt;\n"&lt;/font&gt;]
    
    &lt;font color=blue&gt;If&lt;/font&gt; [postDat &amp;lt;&amp;gt; &lt;font color=gray&gt;""&lt;/font&gt;]
        Print [&lt;font color=gray&gt;"-----↓翻訳後↓-----&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;\n"&lt;/font&gt;]
        
        &lt;font color=green&gt;//翻訳&lt;/font&gt;
        gLangEnc [postDat, retGLang]
        
        &lt;font color=green&gt;//改行をbrタグに変換&lt;/font&gt;
        Replace [retGLang, &lt;font color=gray&gt;"\n"&lt;/font&gt;, &lt;font color=gray&gt;"&amp;lt;br /&amp;gt;\n"&lt;/font&gt;, retGLang]
        Print [retGLang + &lt;font color=gray&gt;"\n"&lt;/font&gt;]
    &lt;font color=blue&gt;End If&lt;/font&gt;
    
    Print [&lt;font color=gray&gt;"&amp;lt;/body&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;/html&amp;gt;"&lt;/font&gt;]
    
    &lt;font color=blue&gt;Exit&lt;/font&gt;


&lt;font color=green&gt;//gLangEnc [日本語?, 重力語ヂッハベ弁]&lt;/font&gt;
*~gLangEnc
&lt;font color=blue&gt;Integer&lt;/font&gt; [forI, binLen, strLen] &lt;font color=blue&gt;As Local&lt;/font&gt;
&lt;font color=blue&gt;Integer&lt;/font&gt; [binDat] &lt;font color=blue&gt;As Local&lt;/font&gt;
&lt;font color=blue&gt;String&lt;/font&gt; [srcStr, destStr] &lt;font color=blue&gt;As Local&lt;/font&gt;

    &lt;font color=green&gt;//LenB命令はShift-JISでのサイズを返すので
    //文字コード変換前に取得&lt;/font&gt;
    LenB [strLen, Argument0]
    
    &lt;font color=green&gt;//Shift-JISに変換(末尾null必要)&lt;/font&gt;
    StrConv [srcStr, Argument0 + &lt;font color=blue&gt;MSL&lt;/font&gt;.NullC, &lt;font color=blue&gt;False&lt;/font&gt;]
    
    &lt;font color=green&gt;//確保&lt;/font&gt;
    BinaryAlloc [0, strLen + 1]
    
    &lt;font color=green&gt;//バイト配列に変換&lt;/font&gt;
    StringToBinary [0, srcStr]
    GetDataSize [0, binLen]
    
    &lt;font color=green&gt;//変換&lt;/font&gt;
    &lt;font color=blue&gt;For&lt;/font&gt; [forI, 0, binLen, 1]
        BinaryGet [0, binDat, forI]
        &lt;font color=blue&gt;If&lt;/font&gt; [binDat &amp;gt;= 0x41 &amp;&amp; binDat &amp;lt;= 0x5A]
            BinaryPut [0, binDat + 0x20, forI]
        &lt;font color=blue&gt;End If&lt;/font&gt;
    &lt;font color=blue&gt;Next&lt;/font&gt;
    
    &lt;font color=green&gt;//文字列に戻す&lt;/font&gt;
    BinaryToString [0, destStr]
    StrConv [destStr, destStr, &lt;font color=blue&gt;True&lt;/font&gt;]
    
    &lt;font color=green&gt;//句読点のみ正常に戻す&lt;/font&gt;
    Replace [destStr, &lt;font color=gray&gt;"｜"&lt;/font&gt;, &lt;font color=gray&gt;"。"&lt;/font&gt;, destStr]
    Replace [destStr, &lt;font color=gray&gt;"∥"&lt;/font&gt;, &lt;font color=gray&gt;"、"&lt;/font&gt;, destStr]
    
    &lt;font color=green&gt;//返却&lt;/font&gt;
    Argument1 = destStr
    
    &lt;font color=blue&gt;MethodReturn&lt;/font&gt;
&lt;/font&gt;&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
日本語入力してくれと言いますがひらがなは変化しません&lt;br /&gt;
あと長文は例によって応答遅めです。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.test-karaage.mydns.jp/glang.mgi" target="_blank"&gt;重力語(ヂッハベ弁)簡易翻訳&lt;/a&gt;
&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/173838.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>鶏唐揚</dc:creator><title>[WWS2008][MysticSL]CGIに挑戦</title><link>http://blogs.wankuma.com/valkyrie/archive/2009/05/17/173110.aspx</link><pubDate>Sun, 17 May 2009 15:09:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2009/05/17/173110.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/173110.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2009/05/17/173110.aspx#Feedback</comments><slash:comments>29</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/173110.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/173110.aspx</trackback:ping><description>&lt;P&gt;設定が悪かったのか相性が悪かったのかわかりませんが&lt;BR&gt;
IIS7.0 + MysticSLが動かなかったので急遽 AnHTTPD を導入&amp;#8230;&lt;BR&gt;
&lt;BR&gt;
MysticSLでCGI、といっても、&lt;BR&gt;
Print命令の出力先がブラウザになることと&lt;BR&gt;
POST、GETの受け取りができる・クエリデコード命令が使えるというだけで、&lt;BR&gt;
後はMysticSLそのもの。なのでCGIに特化したphpやperlに比べると&lt;BR&gt;
ひっじょーに面倒な記述となりますｗ&lt;BR&gt;
&lt;BR&gt;
&lt;table bgcolor=white border=1&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
&lt;font face="ＭＳ ゴシック" color=black&gt;
&lt;font color=green&gt;'#!MSL.exe -h -e&lt;/font&gt;
&lt;font color=blue&gt;#include&lt;/font&gt; [CGI.msm]
&lt;font color=green&gt;'/////標準入力定数/////
'///POST_DATA:POSTされたデータ(NullC区切り)
'///QUERY_STRING:アドレス付属データ(NullC区切り)
'///HTTP_COOKIE:クッキー
'/////標準出力はPrint命令を使用します。/////&lt;/font&gt;
    MysticCGI [&lt;font color=blue&gt;False&lt;/font&gt;]
    GetData []
    
    &lt;font color=green&gt;'/////ここから開始/////&lt;/font&gt;
    &lt;font color=blue&gt;String&lt;/font&gt; [postDat]
    
    &lt;font color=green&gt;'HTMLタグ吐き出し開始&lt;/font&gt;
    Print [&lt;font color=gray&gt;"&amp;lt;html&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;head&amp;gt;\n&amp;lt;title&amp;gt;テストCGI&amp;lt;/title&amp;gt;\n&amp;lt;/head&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;body&amp;gt;\n"&lt;/font&gt;]
    
    &lt;font color=green&gt;'POSTデータ整形&lt;/font&gt;
    SplitEx [postDat, POST_DATA, MSL.NullC]
    Replace [postDat, &lt;font color=gray&gt;"input="&lt;/font&gt;, &lt;font color=gray&gt;""&lt;/font&gt;, postDat]
    &lt;font color=blue&gt;If&lt;/font&gt; [postDat == &lt;font color=gray&gt;""&lt;/font&gt;]
        &lt;font color=green&gt;'初期&lt;/font&gt;
        Print [&lt;font color=gray&gt;"何か入力&amp;lt;br /&amp;gt;\n"&lt;/font&gt;]
        Print [&lt;font color=gray&gt;"&amp;lt;div&amp;gt;\n"&lt;/font&gt;]
        Print [&lt;font color=gray&gt;"&amp;lt;form method=\qPOST\q action=\qtest.mgi\q&amp;gt;\n"&lt;/font&gt;]
        Print [&lt;font color=gray&gt;"&amp;lt;input type=\qtext\q name=\qinput\q&amp;gt;\n"&lt;/font&gt;]
        Print [&lt;font color=gray&gt;"&amp;lt;input type=\qsubmit\q value=\q送る\q&amp;gt;\n"&lt;/font&gt;]
        Print [&lt;font color=gray&gt;"&amp;lt;/form&amp;gt;\n"&lt;/font&gt;]
        Print [&lt;font color=gray&gt;"&amp;lt;/div&amp;gt;\n"&lt;/font&gt;]
    &lt;font color=blue&gt;Else&lt;/font&gt;
        &lt;font color=green&gt;'POST&lt;/font&gt;
        QueryDecode [postDat, postDat]
        EscDecode [postDat, postDat]
        Print [&lt;font color=gray&gt;"入力したデータは「"&lt;/font&gt; + postDat + &lt;font color=gray&gt;"」\n"&lt;/font&gt;]
    &lt;font color=blue&gt;End If&lt;/font&gt;
    
    Print [&lt;font color=gray&gt;"&amp;lt;/body&amp;gt;\n"&lt;/font&gt;]
    Print [&lt;font color=gray&gt;"&amp;lt;/html&amp;gt;"&lt;/font&gt;]
&lt;/font&gt;
&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
フォーム入力からMysticSLで書くとこんなにぐだぐだ&amp;#8230;&lt;br /&gt;
あとやっぱり遅いです。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.test-karaage.mydns.jp/cgiTest_01/test.mgi" target="_blank"&gt;テストCGI&lt;/a&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/173110.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>鶏唐揚</dc:creator><title>[MysticSL] 文字列を返すAPIの使い方</title><link>http://blogs.wankuma.com/valkyrie/archive/2008/11/22/161932.aspx</link><pubDate>Sat, 22 Nov 2008 15:05:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2008/11/22/161932.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/161932.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2008/11/22/161932.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/161932.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/161932.aspx</trackback:ping><description>&lt;P&gt;どうも。じっちゃん入院です。土地問題は地域問題にまで発展して色々やばげです。&lt;BR&gt;モチベーションあがらないので新しいことができませんが&lt;BR&gt;既に着手しているMysticSLのネタをば。&lt;BR&gt;&lt;BR&gt;WinAPIの中には、文字列へのポインタを返すものがありますが&lt;BR&gt;VBタンはそいつを普通にString型で扱ってくれます&lt;BR&gt;MysticSLはVBベースなので&amp;#8230;と思いきや、#declareで宣言した関数の&lt;BR&gt;戻り値はInteger型でしか受け取れません&lt;BR&gt;そこで、C言語のようにメモリ操作をするサンプルをご紹介します&lt;BR&gt;&lt;BR&gt;
&lt;TABLE bgColor=white border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;PRE&gt;&lt;FONT face="ＭＳ ゴシック" color=black&gt;
&lt;FONT color=blue&gt;#declare&lt;/FONT&gt; [GetCommandLine, &lt;FONT color=gray&gt;"kernel32"&lt;/FONT&gt;, &lt;FONT color=gray&gt;"GetCommandLineW"&lt;/FONT&gt;]
&lt;FONT color=blue&gt;#declare&lt;/FONT&gt; [lstrlen, &lt;FONT color=gray&gt;"kernel32"&lt;/FONT&gt;, &lt;FONT color=gray&gt;"lstrlenW"&lt;/FONT&gt;, &lt;FONT color=blue&gt;ByVal&lt;/FONT&gt; strAddr &lt;FONT color=blue&gt;As Integer&lt;/FONT&gt;]
&lt;FONT color=green&gt;//↓実際は1行で書くこと&lt;/FONT&gt;
&lt;FONT color=blue&gt;#declare&lt;/FONT&gt; [CopyMemory, &lt;FONT color=gray&gt;"kernel32"&lt;/FONT&gt;, &lt;FONT color=gray&gt;"RtlMoveMemory"&lt;/FONT&gt;, _
                                  &lt;FONT color=blue&gt;ByVal&lt;/FONT&gt; Destination &lt;FONT color=blue&gt;As Integer&lt;/FONT&gt;, _
                                  &lt;FONT color=blue&gt;ByVal&lt;/FONT&gt; Source &lt;FONT color=blue&gt;As Integer&lt;/FONT&gt;, _
                                  &lt;FONT color=blue&gt;ByVal&lt;/FONT&gt; Length &lt;FONT color=blue&gt;As Integer&lt;/FONT&gt;]

&lt;FONT color=blue&gt;Integer&lt;/FONT&gt; [VarAddr, RetAddr, length]
&lt;FONT color=blue&gt;String&lt;/FONT&gt; [CmdLineBuff]

    &lt;FONT color=green&gt;//コマンドライン取得&lt;/FONT&gt;
    GetCommandLine [RetAddr]
    
    &lt;FONT color=green&gt;//長さ取得&lt;/FONT&gt;
    lstrlen [RetAddr, length]
    
    &lt;FONT color=green&gt;//長さ確保してポインタ取得&lt;/FONT&gt;
    ZeroString [CmdLineBuff, length]
    GetPtr [VarAddr, CmdLineBuff]
    
    &lt;FONT color=green&gt;//めもりこぴー&lt;/FONT&gt;
    CopyMemory [VarAddr, RetAddr, length * 2]
    
    Print [CmdLineBuff]
    
    Stop
&lt;/FONT&gt;
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;簡単なGetCommandLineを使ってみました&lt;BR&gt;MysticSLの文字列はUnicodeなのでGetCommandLineW/lstrlenWで。&lt;BR&gt;&lt;BR&gt;&lt;A href="http://valkyrie.wankuma.com/blog_img/20081122_001/hc001.jpg" target=_blank&gt;&lt;IMG src="http://valkyrie.wankuma.com/blog_img/20081122_001/hc001_thumb.jpg" border=0&gt;&lt;/A&gt;&lt;BR&gt;デバッグ実行だと、どんなコマンドライン引数でスクリプト実行されているかまるわかりｗ&lt;BR&gt;&lt;BR&gt;&lt;A href="http://valkyrie.wankuma.com/blog_img/20081122_001/hc002.jpg" target=_blank&gt;&lt;IMG src="http://valkyrie.wankuma.com/blog_img/20081122_001/hc002_thumb.jpg" border=0&gt;&lt;/A&gt;&lt;BR&gt;こちらがビルドしたEXEでの実行 &lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/161932.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>鶏唐揚</dc:creator><title>[しぃ言語] (*ﾟヮﾟ)&lt; :"調べてみたよ！";</title><link>http://blogs.wankuma.com/valkyrie/archive/2008/09/24/157385.aspx</link><pubDate>Wed, 24 Sep 2008 11:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2008/09/24/157385.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/157385.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2008/09/24/157385.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/157385.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/157385.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.geocities.co.jp/SiliconValley-PaloAlto/2423/" target=_blank&gt;しぃ言語公式サイト&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;リファレンス見たけど&amp;#8230;制御文ないよ！ソート無理！&lt;BR&gt;&lt;BR&gt;あるのは&amp;#8230;&lt;BR&gt;&lt;BR&gt; &lt;STRONG&gt;・変数の宣言（数値型・文字列型）&lt;BR&gt;　代入は宣言時のみ可能&lt;BR&gt;・コンソール出力&lt;BR&gt;・ダイアログ出力&lt;BR&gt;・終了処理&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;なんだかしぃ言語独自実装したくなってきた（時間ねぇって） &lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/157385.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>鶏唐揚</dc:creator><title>[MysticSL] フォールスルーを使った変な書き方</title><link>http://blogs.wankuma.com/valkyrie/archive/2008/09/22/157287.aspx</link><pubDate>Mon, 22 Sep 2008 13:12:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2008/09/22/157287.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/157287.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2008/09/22/157287.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/157287.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/157287.aspx</trackback:ping><description>&lt;P&gt;だいぶ間が空いてしまいました。&lt;BR&gt;今回は再びMysticSLの奇妙な仕様の紹介&lt;BR&gt;&lt;BR&gt;MysticSLは基本仕様として、すべての処理を上から下へ貫通しますので、&lt;BR&gt;適宜制御してやらないとメソッドとかで変なことになります。&lt;BR&gt;しかし、あえて貫通させつつ正常な動作を生むことが出来ます&lt;BR&gt;&lt;BR&gt;例として、テキストファイルを読み込むメソッドFOpenとFAutoOpenを作るとします&lt;BR&gt;（オーバーロードがないので別メソッドとなります）&lt;BR&gt;&lt;BR&gt;FOpenは第2引数に指定されたファイルから読み込んだ内容を第1引数に返す仕様&lt;BR&gt;対するFAutoOpenは実行スクリプトと同パスのdefine.iniからファイル名を取得して&lt;BR&gt;そのファイルから読み込んだ内容を第1引数に返す仕様とします。&lt;BR&gt;どちらもファイルが存在しない場合はヌル文字を返却するようにします。&lt;BR&gt;&lt;BR&gt;
&lt;TABLE bgColor=white border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;PRE&gt;&lt;FONT face="ＭＳ ゴシック" color=black&gt;
&lt;FONT color=green&gt;//通常の書き方&lt;/FONT&gt;

&lt;FONT color=blue&gt;#method&lt;/FONT&gt; [FOpen, 2, *~FOpen]
&lt;FONT color=blue&gt;#method&lt;/FONT&gt; [FAutoOpen, 1, *~FAutoOpen]

&lt;FONT color=red&gt;*~FAutoOpen&lt;/FONT&gt;
    &lt;FONT color=blue&gt;String&lt;/FONT&gt; [FileName]
    
    &lt;FONT color=green&gt;//INIファイルオープン&lt;/FONT&gt;
    OpenINI [0, MSL.Path + &lt;FONT color=gray&gt;"define.ini"&lt;/FONT&gt;]
        GetStrData [0, &lt;FONT color=gray&gt;"TEST"&lt;/FONT&gt;, &lt;FONT color=gray&gt;"FileName"&lt;/FONT&gt;, &lt;FONT color=gray&gt;""&lt;/FONT&gt;, FileName]
    CloseINI [0]
    
    FOpen [Argument0, FileName]
    
    &lt;FONT color=blue&gt;MethodReturn&lt;/FONT&gt;

&lt;FONT color=red&gt;*~FOpen&lt;/FONT&gt;
    &lt;FONT color=blue&gt;Integer&lt;/FONT&gt; [ExistFlg]
    
    File [Argument1, ExistFlg]
    &lt;FONT color=blue&gt;If&lt;/FONT&gt; [Argument1 != &lt;FONT color=gray&gt;""&lt;/FONT&gt; &amp;amp;&amp;amp; ExistFlg == &lt;FONT color=blue&gt;True&lt;/FONT&gt;]
        &lt;FONT color=green&gt;//あればオープン&lt;/FONT&gt;
        FileRead [Argument1, Argument0]
    &lt;FONT color=blue&gt;Else&lt;/FONT&gt;
        &lt;FONT color=green&gt;//なければヌル文字返却&lt;/FONT&gt;
        Argument0 = MSL.NullC
    &lt;FONT color=blue&gt;End If&lt;/FONT&gt;
    
    &lt;FONT color=blue&gt;MethodReturn&lt;/FONT&gt;
&lt;/FONT&gt;
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;おそらく多くの言語で（オーバーロードしない形式なら）こう書くと思います&lt;BR&gt;これを、貫通させつつ同じ動作を実現してみます&lt;BR&gt;&lt;BR&gt;
&lt;TABLE bgColor=white border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;PRE&gt;&lt;FONT face="ＭＳ ゴシック" color=black&gt;
&lt;FONT color=green&gt;//処理貫通&lt;/FONT&gt;

&lt;FONT color=blue&gt;#method&lt;/FONT&gt; [FOpen, 2, *~FOpen]
&lt;FONT color=blue&gt;#method&lt;/FONT&gt; [FAutoOpen, 1, *~FAutoOpen]

&lt;FONT color=red&gt;*~FAutoOpen&lt;/FONT&gt;
    &lt;FONT color=blue&gt;String&lt;/FONT&gt; [FileName]
    
    OpenINI [0, MSL.Path + &lt;FONT color=gray&gt;"define.ini"&lt;/FONT&gt;]
        GetStrData [0, &lt;FONT color=gray&gt;"TEST"&lt;/FONT&gt;, &lt;FONT color=gray&gt;"FileName"&lt;/FONT&gt;, &lt;FONT color=gray&gt;""&lt;/FONT&gt;, FileName]
    CloseINI [0]
    
&lt;FONT color=red&gt;*~FOpen&lt;/FONT&gt;
    &lt;FONT color=blue&gt;Integer&lt;/FONT&gt; [ExistFlg, VarTypeBuff]
    
    VarType [VarTypeBuff, FileName]
    &lt;FONT color=blue&gt;If&lt;/FONT&gt; [VarTypeBuff == 0]
        &lt;FONT color=green&gt;//FOpen呼び出しのため宣言&lt;/FONT&gt;
        String [FileName]
        
        FileName = Argument1
    &lt;FONT color=blue&gt;End If&lt;/FONT&gt;
    
    File [FileName, ExistFlg]
    &lt;FONT color=blue&gt;If&lt;/FONT&gt; [FileName != &lt;FONT color=gray&gt;""&lt;/FONT&gt; &amp;amp;&amp;amp; ExistFlg == &lt;FONT color=blue&gt;True&lt;/FONT&gt;]
        FileRead [FileName, Argument0]
    &lt;FONT color=blue&gt;Else&lt;/FONT&gt;
        Argument0 = MSL.NullC
    &lt;FONT color=blue&gt;End If&lt;/FONT&gt;
    
    &lt;FONT color=blue&gt;MethodReturn&lt;/FONT&gt;
&lt;/FONT&gt;
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;メソッド内にメソッドがあるような状態なので、他言語にもある内部メソッドかと&lt;BR&gt;思われるかもしれませんが、概念は全然違うものです（思う人もいないかなｗ）&lt;BR&gt;単純にFAutoOpen呼出し後、MethodReturnが来るまで処理し続けるので&lt;BR&gt;FOpen処理内にも突っ込んでるだけですね。&lt;BR&gt;&lt;BR&gt;尚、通常は宣言されていない変数は参照・代入ともにエラーとなるのですが&lt;BR&gt;VarType内だけはエラーになりません。これはVarTypeが&lt;BR&gt;変数の種類を調べる命令であり参照・代入処理が行われないためです。&lt;BR&gt;上記の例ですと、FileName変数の種類が0（未定義）だった場合にのみ&lt;BR&gt;宣言するようコーディングしてあります&lt;BR&gt;&lt;BR&gt;MysticSLの変数スコープはグローバルかメソッドローカルのみで、&lt;BR&gt;ブロック単位のローカルは作れません。&lt;BR&gt;&lt;BR&gt;さてこの手法にはデメリットしかありませんｗ&lt;BR&gt;&lt;STRONG&gt;1.フォールスルーに関わるメソッド全ての連携を考慮した&lt;BR&gt;　複雑な設計をしないといけない&lt;BR&gt;2.保守が（1.に関連して）非常に辛い&lt;BR&gt;3.遅い &lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;100回FAutoOpenをループ実行させるテストをしましたが、&lt;BR&gt;デバッグモードで約100ミリ秒、リリースビルドしても10～20ミリ秒遅い結果となりました&lt;BR&gt;（ディスクアクセスがあるので状況によります）&lt;BR&gt;&lt;BR&gt;メソッド呼び出しするほうがオーバーヘッド関係上遅くなりそうな気がしますが、&lt;BR&gt;MysticSLの場合呼び出し元のデータ丸投げしてるだけなので&lt;BR&gt;むしろフォールスルー後の条件処理もろもろで遅くなっているわけですね。&lt;BR&gt;&lt;BR&gt;ぶっちゃけこんな変な組み方する人はいないと思いますが、&lt;BR&gt;こんなのも出来ますよ、という紹介でしたｗ &lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/157287.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>鶏唐揚</dc:creator><title>[MysticSL] 修正版うｐ</title><link>http://blogs.wankuma.com/valkyrie/archive/2008/08/22/154000.aspx</link><pubDate>Fri, 22 Aug 2008 17:05:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2008/08/22/154000.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/154000.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2008/08/22/154000.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/154000.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/154000.aspx</trackback:ping><description>&lt;P&gt;&lt;IMG src="http://valkyrie.wankuma.com/blog_img/20080822_001/hc001.jpg" border=0&gt;&lt;BR&gt;&lt;BR&gt;はい、というわけでよーやくジョイパッドぶち抜いたときにキーボード操作になるよう修正。&lt;BR&gt;一応操作法。&lt;BR&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;☆ジョイパッドの場合
　方向キーで移動、1ボタンでダッシュ、2ボタンで死亡モーション

☆キーボードの場合
　矢印キーで移動、スペースでダッシュ、バックスペースで死亡モーション
&lt;/PRE&gt;
&lt;P&gt;
&lt;HR&gt;
ジョイパッドとキーボードは排他となっているので&lt;BR&gt;どちらか片方のみでの操作となります（ジョイパッド優先） &lt;BR&gt;&lt;BR&gt;&lt;A href="http://valkyrie.wankuma.com/file_arc/ddTest.zip" target=_blank&gt;ダウンロード&lt;/A&gt;(264KB) 
&lt;P&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/154000.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>鶏唐揚</dc:creator><title>[MystuicSL] DirectDrawサンプルのバグ修正</title><link>http://blogs.wankuma.com/valkyrie/archive/2008/07/29/150802.aspx</link><pubDate>Tue, 29 Jul 2008 13:11:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2008/07/29/150802.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/150802.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2008/07/29/150802.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/150802.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/150802.aspx</trackback:ping><description>&lt;P&gt;
まだ手ぇ付けてません。やること多すぎ&amp;#8230;&lt;BR&gt;
ちなみにどんなバグかというと。&lt;BR&gt;&lt;BR&gt;
&lt;STRONG&gt;ジョイパッドぶち抜くとキャラが左上に向かって暴走します&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;
二次会にて発見しましたｗ&lt;BR&gt;
修正＆改造は今週末にでもやろうかなと思ってますので。
&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/150802.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>鶏唐揚</dc:creator><title>[MysticSL] うほっ　いいライブラリ…</title><link>http://blogs.wankuma.com/valkyrie/archive/2008/07/15/149006.aspx</link><pubDate>Tue, 15 Jul 2008 22:19:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2008/07/15/149006.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/149006.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2008/07/15/149006.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/149006.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/149006.aspx</trackback:ping><description>&lt;P&gt;ぶへーとわんくまブログ新着を見てたらJZ5さんの&lt;BR&gt;&lt;A href="http://blogs.wankuma.com/katamari/archive/2008/07/15/148871.aspx" target=_blank&gt;Live Messenger 表示メッセージを外部アプリから設定 &lt;/A&gt;を見つけて&lt;BR&gt;「んー？どっかで見たような&amp;#8230;」と思ったらやっぱりありました。&lt;BR&gt;MysticSL公式サイトの「&lt;A href="http://www.h6.dion.ne.jp/~tsp.com/msl/soft.html" target=_blank&gt;MysticSL作品&lt;/A&gt;」に。&lt;BR&gt;&lt;BR&gt;&lt;HR&gt;&lt;/P&gt;&lt;PRE&gt;#include [MSNMD.msm]

MSNMusicDisp ["揚げすぎた鶏"]
Stop
&lt;/PRE&gt;&lt;BR&gt;
&lt;P&gt;&lt;HR&gt;短っ！&lt;BR&gt;&lt;BR&gt;なおクリアするのはMSNMusicDispStopです。これやらずにアプリ終わらせると&lt;BR&gt;メッセンジャ再起動させるまでずっと残ったままですｗ&lt;BR&gt;&lt;BR&gt;あと付属のヘルプ見たらMSNMusicDispExなんてのもあるみたいです。&lt;BR&gt;アーティスト名・曲名・アルバム名をそれぞれ引数に渡すことで、&lt;BR&gt;"アーティスト名 - 曲名(アルバム名)"という形に整形して表示してくれるそうです。&lt;BR&gt;メソッド名からしてMSNMessenger時代のライブラリですが、&lt;BR&gt;Windows Live Messengerでも正常に動作しました。 &lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/149006.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>鶏唐揚</dc:creator><title>[名古屋勉強会#3]準備中…</title><link>http://blogs.wankuma.com/valkyrie/archive/2008/07/14/148772.aspx</link><pubDate>Mon, 14 Jul 2008 11:25:00 GMT</pubDate><guid>http://blogs.wankuma.com/valkyrie/archive/2008/07/14/148772.aspx</guid><wfw:comment>http://blogs.wankuma.com/valkyrie/comments/148772.aspx</wfw:comment><comments>http://blogs.wankuma.com/valkyrie/archive/2008/07/14/148772.aspx#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://blogs.wankuma.com/valkyrie/comments/commentRss/148772.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/valkyrie/services/trackbacks/148772.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.wankuma.com/seminar/20080726nagoya3/Default.aspx" target=_blank&gt;名古屋勉強会#3のページ&lt;/A&gt;が出来上がりましたね。&lt;BR&gt;セッション内容はこんな感じとなってます。&lt;BR&gt;なお私のセッション内容、公式ページでは未定のままですが決定してます。&lt;BR&gt;&lt;BR&gt;・13:40～14:30 「りょーいちのデジタルカメラ写真講座」 byりょーいちさん&lt;BR&gt;・14:40～15:30 「勝手にインフラ隊に学ぶネットワーク講座」byまーるさん&lt;BR&gt;・15:40～16:30 「マイナー言語出張版"MysticSLを使い倒してみた"」 by鶏唐揚&lt;BR&gt;・16:40～17:30 「タダで始めるテストファースト入門 ～ C# Express + NUnit」 by biacさん&lt;BR&gt;・17:40～18:30 「組み込み系のネタ(仮)」 by あんどちんさん&lt;BR&gt;・19:00～ 懇親会～&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;現在資料を作ってますがどこまでふざけて良いのやら&amp;#8230;ｗ&lt;BR&gt;私の見た中ではゆーちさんが一番ハジけてましたが、あそこまでやる勇気もない&amp;#8230;&lt;BR&gt;かといって中途半端にネタ仕込んでもさぶいだけ。&lt;BR&gt;なんで大真面目に行こうかなと。&lt;BR&gt;&lt;BR&gt;でも内容が内容だけに、ネタで盛り上げないと誰も反応示さなさそうな&amp;#8230;難しいデスネorz&lt;BR&gt;&lt;BR&gt;DのIDEはちょっと後回しです。どのみちリッチテキストの挙動にイラってて停滞してますがｗ&lt;BR&gt;楽しみにしてる方（いらっしゃるかわかりませんが1名は確認ｗ）は申し訳ないですが&lt;BR&gt;気長にお待ちください。&lt;BR&gt;&lt;BR&gt;そして。&lt;BR&gt;自己紹介やら身の上話やらしても50分も持たせる自信がありません&lt;BR&gt;誰かネタくだｓ（ｒｙ &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;[どーでもいい追記]&lt;BR&gt;まだ2週間弱あるのに今まさに超緊張して腕が痺れて指が上手く動かなくなってまいりました。&lt;BR&gt;耳も痺れてきて耳鳴りが&amp;#8230;ｗ極度のアガり症なのでお手柔らかにお願いしますｗ&lt;BR&gt;
#当日座ってお喋りさせてもらえるのでしょうか。立ってやるとなると&lt;BR&gt;
　倒れるかもしんないｗｗ&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/valkyrie/aggbug/148772.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>