[トップ][編集][ノート][編集履歴][一覧][最近の更新][->English]

HSPコンテスト:ショートプログラム:HSP基礎知識編:dupを使う


    dup を使うとコードが読みやすく、しかもサイズが小さくなることがあります。

    グレイスケールでバーを書くプログラムです。 バーの長さをそのまま色に使用しています。 cnt が 何度も出てきて見るからに無駄ですね?

            barHeights = 16, 32, 48, 64, 80, 96, 112, 128, 144, 160
    
            repeat 10
                    color barHeights.cnt, barHeights.cnt, barHeights.cnt
                    boxf cnt*10, 0, cnt+1*10, barHeights.cnt
            loop
    stop
    
    

    dup を使うと

            barHeights = 16, 32, 48, 64, 80, 96, 112, 128, 144, 160
    
            repeat 10
                    dup barHeight, barHeights.cnt
                    color barHeight, barHeight, barHeight
                    boxf cnt*10, 0, cnt+1*10, barHeight
            loop
    stop
    
    

    cnt の繰り返しが減った分コードのサイズが小さくなりました。