5: 2009-01-13 (火) 20:11:00 [6] | 6: 2009-11-17 (火) 12:08:44 [7] | ||
---|---|---|---|
Line 26: | Line 26: | ||
(ex0015.cと同じ内容) | (ex0015.cと同じ内容) | ||
} | } | ||
- | -これをmakeすると139バイトになります。でも動作はex0016と完全に同じです。 | + | -これをmakeすると128バイトになります。でも動作はex0016と完全に同じです。 |
---- | ---- | ||
-じゃあもう一つ小さくする技を。ex0017では引数が「s:str」と「n:#」でしたが、これを「str:string」と「num:number」にしたいとしましょう。まあどうせ順序を覚えていれば「str:」や「num:」とタイプする必要はないですしね。それなら分かりやすいほうがいい、と考える人もいるでしょう。 | -じゃあもう一つ小さくする技を。ex0017では引数が「s:str」と「n:#」でしたが、これを「str:string」と「num:number」にしたいとしましょう。まあどうせ順序を覚えていれば「str:」や「num:」とタイプする必要はないですしね。それなら分かりやすいほうがいい、と考える人もいるでしょう。 | ||
Line 37: | Line 37: | ||
0x86, 0x50, | 0x86, 0x50, | ||
0x02, 's', 't', 'r', 0x34, 0x01, 'i', 'n', 'g', | 0x02, 's', 't', 'r', 0x34, 0x01, 'i', 'n', 'g', | ||
- | 0x12, 'n', 'u', 'm', 0x11, 0x01, 'b', 'e', 'r', | + | 0x12, 'n', 'u', 'm', 0x14, 0x01, 'b', 'e', 'r', |
0x40 | 0x40 | ||
}; | }; | ||
Line 46: | Line 46: | ||
} | } | ||
-ここでまたサイズを節約するテクニックを使いました。というのは引数説明のところで、0x01というのを使っているからです。これはusage表示するときに引数名に置換されます。これを使うことで 0x3c や 0x1c を使わずに済んでいますし、そもそも置換することでそれぞれ2バイト節約しています。 | -ここでまたサイズを節約するテクニックを使いました。というのは引数説明のところで、0x01というのを使っているからです。これはusage表示するときに引数名に置換されます。これを使うことで 0x3c や 0x1c を使わずに済んでいますし、そもそも置換することでそれぞれ2バイト節約しています。 | ||
- | -makeすると147バイトになります。一応usage表示を見て確認しておきましょう。 | + | -makeすると136バイトになります。一応usage表示を見て確認しておきましょう。 |
>efg01 ex0018.g01 | >efg01 ex0018.g01 | ||
usage>ex0018.g01 [str:]string [[num:]number] | usage>ex0018.g01 [str:]string [[num:]number] | ||
Line 58: | Line 58: | ||
0x02, 's', 't', 'r', 0x34, 0x01, 'i', 'n', 'g', | 0x02, 's', 't', 'r', 0x34, 0x01, 'i', 'n', 'g', | ||
0x87, | 0x87, | ||
- | 0x12, 'n', 'u', 'm', 0x11, 0x01, 'b', 'e', 'r', | + | 0x12, 'n', 'u', 'm', 0x14, 0x01, 'b', 'e', 'r', |
0x40 | 0x40 | ||
}; | }; | ||
Line 66: | Line 66: | ||
(ex0015.cと同じ内容) | (ex0015.cと同じ内容) | ||
} | } | ||
- | -これをmakeすると148バイトになりますが、注目ポイントは 0x87, です。これがあると、usage表示のときにここで改行します。それ以外の効果はありません。この改造をしてももちろん「num:」は引数番号1のままです(2になったりはしない)。 | + | -これをmakeすると137バイトになりますが、注目ポイントは 0x87, です。これがあると、usage表示のときにここで改行します。それ以外の効果はありません。この改造をしてももちろん「num:」は引数番号1のままです(2になったりはしない)。 |
-これをusage表示させるとこうなります。 | -これをusage表示させるとこうなります。 | ||
>efg01 ex0019.g01 | >efg01 ex0019.g01 | ||
Line 111: | Line 111: | ||
return; | return; | ||
} | } | ||
- | -これをmakeすると265バイトになります。そしてusageを出してみると、こうなります。 | + | -これをmakeすると249バイトになります。そしてusageを出してみると、こうなります。 |
>efg01 ex0020.g01 | >efg01 ex0020.g01 | ||
usage>ex0020.g01 [down] [n:]# | usage>ex0020.g01 [down] [n:]# | ||
Line 127: | Line 127: | ||
* こめんと欄 | * こめんと欄 | ||
- このシリーズは好評のようです。実際にアプリを作って遊んでくれる人も出てきました。 -- [[K]] &new{2009-01-13 (火) 11:07:16}; | - このシリーズは好評のようです。実際にアプリを作って遊んでくれる人も出てきました。 -- [[K]] &new{2009-01-13 (火) 11:07:16}; | ||
+ | - abcdw014向けの記述に修正。 -- ''K'' &new{2009-01-16 (金) 22:12:08}; | ||
#comment | #comment |
(This host) = http://osask.net