RGSS 便利な処理

 2010-06-25
CACAOさんのRGSS2お勉強ノートのページ数が
50ページを超えてましたので記念に便利な処理を抜粋しちゃうぞ!


1.未定義変数の初期化
var ||= 123
変数 var が未定義のときに 123 を代入します。
これ最近知って、おぉ!って驚いたんだけど、ノートの最初の方に書いてあった。
すでに知ってたんだね。。。忘れてたのか。。。

2.配列の展開
ary = [1, 2, 3]
p *ary  # => 1
             2
             3

a, b, c = *ary
p a, b, c   # => 1
                 2
                 3

def hoge(a, b, c)
  return a + b + c
end
p hoge(*ary)  # => 6
説明が難しいんだけど、例でわかってもらえたかな?
配列を (a, b, c) みたいな形にする?開くみたいな??

3.引数の配列化
def total(*args)
  return args.inject(0) {|res,val| res + val }
end
p total(1, 2, 3, 4, 5, 6, 7, 8, 9)  # => 45
渡された引数を1つの配列でまとめます。
引数の前に * を付けます。

4.真偽値の反転
sw = true
sw ^= true
p sw  # => false
sw ^= true
p sw  # => true
sw = !sw
p sw  # => false
スイッチのON・OFFを切り替えたいときなんか便利ですよ。
あと、変数名が長いものとか。

5.配列のランダムソート
ary = (1..5).to_a
p ary.sort_by { rand }
配列の要素をバラバラに並び替えます。
ミニゲームなんかで使用しました。

6.正規表現
s = "HOGE:12"
p s[/HOGE:(\d+)/, 1]  # => "12"
1行で変数にも代入できて便利だよ。
マッチしなかった場合は、nil が返るし。

7.式展開
var = 123
$gg = 456
p "var is #{var}"
p "$gg is #$gg"
p "#{var + $gg}"
文字列や正規表現中で変数や式を展開できます。
$ や @ が付いた変数の場合は、{} をつけずに # だけで展開可能です。
私は #{} しか使わないかな。そっちの方がわかりやすいし。

8.クラス判定
num = 123
p Integer === num
p Float === num
p Numeric === num
is_a? を使うより打ちやすいかな?記号3つだから。

こういう記号に置き換えた処理ってたくさんあるよね。
p [] << 1 << 2 << 3
p "%03d" % 6

9.数値の区切り
p 1_234_567
文字コード以外の数値リテラル内では _ を区切りとして使える。
大きい数値のときに一目で桁数がわかるようにだってさ。



今までのとかぶっちゃうやつとかあると思うけど、
というかツクール関係ないものばかりだったと思うけど、
見落としがちのやつを載せたつもりです。
コメント




 

 ※ コメント内にURLを含めるには、バッククォート(`)をURLの直前に付け加えてください。


管理人のみ閲覧許可 [?]

トラックバック
トラックバックURL:
http://cacaosoft.blog42.fc2.com/tb.php/415-26a90770
≪ トップページへこのページの先頭へ  ≫
カレンダー
06 << 2017/07 >> 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

カテゴリー
最近の記事
最近のコメント
03/16 お返事
01/21 お返事
11/30 z座標
11/20 z座標
08/03 お返事

タグクラウド

リンク