◆ digのすゝめ
2022-09-30
ネストされた配列やハッシュを参照する際、途中で指定要素が未定義だとエラーが発生してしまう。
```ruby
a = [[1,2,3], [4,5,6], [7,8,9]]
a[3][1] # ERROR
```
これを回避するには、各要素があるのかを判定する必要があるが、ネストが深いとそれも面倒である。
```ruby
a[3] && a[3][1] # => nil
```
Ruby 2.3 より途中のオブジェクトが nil であった場合は nil を返す [dig](https://docs.ruby-lang.org/ja/latest/method/Array/i/dig.html) メソッドが追加されている。
これを RGSS にも実装する。
2022-09-29
RPGツクールVXAce でこのようなエラーが発生することがあります。
>スクリプト 'Cache' の 106 行目で RGSSError が発生しました。
>failed to create bitmap
これは、次のような原因でビットマップの生成に失敗したときに発生します。
1. ファイルが壊れていたり画像ではない。
2. キャッシュでメモリが圧迫されている。
2022-07-20
セルフスイッチってスクリプトでどう扱うか知ってます?
```rb
$game_self_switches[[map_id, event_id, key]]
```
ですよ。
セルフスイッチってどこで使われるか知ってます?
そう、イベントです。イベントなんです。
イベントに付随するスイッチなのにイベントはその情報を知らないってオブジェクト指向的に考えるとどうなんですか?
そこで、イベントに自分の情報をちゃんと把握してもらおうと思います。
2020-07-09
# こんな経験はありませんか?
ary.map(&:m1).map(&:m2).map(&:m3)
ary.map(&:m1 >> :m2 >> :m3) # って書きたくないですか?
Ruby 2.6 で Proc#>> が追加され、2つの proc を合体させることができるようになりました。
そこで、RGSS3 にも移植しちゃいます。
2020-01-14
ツクールに搭載されている Ruby のバージョンは Ace が 1.9.2 で XP と VX が 1.8.1 で、ちょっと古いです。
そこで、便利機能をちょこっと移植したいと思います。
元となる機能とは動作が異なる場合がございます。ご注意ください。
そこで、便利機能をちょこっと移植したいと思います。
元となる機能とは動作が異なる場合がございます。ご注意ください。