1.はじめに
1.はじめに
当講座は、初心者を対象としていません。
自分は初心者だと自覚のある方は、まずヘルプを読んで文法を学習してください。
[スクリプト入門] - [基礎編] と [RGSS リファレンス] - [Rubyの文法]
一通り読み終わって、スクリプトにも慣れてきたら [スクリプト入門] - [解読編] を読んでみてください。
ここでは、デフォルトのスクリプトがどのような構造になっているのか説明されています。
自分で何か作るようになるとヘルプより、Rubyリファレンスマニュアルがメインとなります。
どこかにオフライン版があるので、ダウンロードしておくといいですよ。
⇒ Rubyリファレンスマニュアル (Ruby オフィシャルサイト)
ヘルプを見てもさっぱりの方は、以下のサイトや書籍をご覧ください。
⇒ Ruby入門 (サイト)
⇒ たのしいRuby 第3版 (書籍) Rubyの入門書。初心者向け
⇒ プログラミング言語 Ruby (書籍) Rubyの詳説書。経験者向け
⇒ Ruby逆引きハンドブック (書籍) Rubyの辞書。
漠然と読むよりもサンプルを実際に実行したり、変更して結果を予想しながら読み進めると
時間は掛かるかもしれませんが、結果的には早く理解できると思います。
また、ツクールで文法の学習をするには、少々効率が悪いですので Ruby をインストールするか、
codepadやideoneなどのサービスを利用することをおすすめします。
自分は初心者だと自覚のある方は、まずヘルプを読んで文法を学習してください。
[スクリプト入門] - [基礎編] と [RGSS リファレンス] - [Rubyの文法]
一通り読み終わって、スクリプトにも慣れてきたら [スクリプト入門] - [解読編] を読んでみてください。
ここでは、デフォルトのスクリプトがどのような構造になっているのか説明されています。
自分で何か作るようになるとヘルプより、Rubyリファレンスマニュアルがメインとなります。
どこかにオフライン版があるので、ダウンロードしておくといいですよ。
⇒ Rubyリファレンスマニュアル (Ruby オフィシャルサイト)
ヘルプを見てもさっぱりの方は、以下のサイトや書籍をご覧ください。
⇒ Ruby入門 (サイト)
⇒ たのしいRuby 第3版 (書籍) Rubyの入門書。初心者向け
⇒ プログラミング言語 Ruby (書籍) Rubyの詳説書。経験者向け
⇒ Ruby逆引きハンドブック (書籍) Rubyの辞書。
漠然と読むよりもサンプルを実際に実行したり、変更して結果を予想しながら読み進めると
時間は掛かるかもしれませんが、結果的には早く理解できると思います。
また、ツクールで文法の学習をするには、少々効率が悪いですので Ruby をインストールするか、
codepadやideoneなどのサービスを利用することをおすすめします。
2.プログラムの実行
スクリプトは、上から下へ順番に実行されます。
まず、スクリプトを解析します。(BEGIN文やEND文は機能しないようです。)
その際、文法的な誤りがあれば SyntaxError が発生します。
そして、1行目に戻り順番に処理が実行されます。
まず、スクリプトを解析します。(BEGIN文やEND文は機能しないようです。)
その際、文法的な誤りがあれば SyntaxError が発生します。
そして、1行目に戻り順番に処理が実行されます。
3.コメント
コメントは、イベントコマンドでいう注釈と同じ役割をします。
#以降の文字は、無視され処理には影響を与えません。
=beginと=endに囲まれた文もコメントとなります。
既存のスクリプトをコメント化して残しておく行為をコメントアウトといいます。
コメントアウトは、Ctrl+Q で簡単に行えるようになっています。
その際は、先頭に#~と記述されコメント化されます。
その他にもコメントに特殊な意味を持たせたものがあります。
コメント内で使われるものには、以下のようなものもあります。
Class#methodは、Class クラスのインスタンスメソッド method を表します。
Class.methodは、Class クラスの特異メソッド(クラスメソッド) method を表します。
Class::CONSTは、Class クラスの定数 CONST を表します。
::CONSTは、トップレベルの定数 CONST を表します。
#以降の文字は、無視され処理には影響を与えません。
=beginと=endに囲まれた文もコメントとなります。
既存のスクリプトをコメント化して残しておく行為をコメントアウトといいます。
コメントアウトは、Ctrl+Q で簡単に行えるようになっています。
その際は、先頭に#~と記述されコメント化されます。
その他にもコメントに特殊な意味を持たせたものがあります。
1 + 2 # => 3# =>このコメントは、左側の式を評価した結果を表します。
コメント内で使われるものには、以下のようなものもあります。
Class#methodは、Class クラスのインスタンスメソッド method を表します。
Class.methodは、Class クラスの特異メソッド(クラスメソッド) method を表します。
Class::CONSTは、Class クラスの定数 CONST を表します。
::CONSTは、トップレベルの定数 CONST を表します。
4.値の確認
RGSS2では、デバッグ用のメソッドとしてpが用意されています。
このメソッドを使用すれば、変数の値やメソッドが実行されるタイミングなどを確認できます。
また、複数の引数を指定することもでき、その場合は改行されて表示されます。
数値なら 123 、文字列なら "abc" 、配列なら [1, 2, 3] 、ハッシュなら {1 => ""}、
その他のクラスなら #<Hoge:0x288f73c> のように表示されます。
このメソッドを使用すれば、変数の値やメソッドが実行されるタイミングなどを確認できます。
val = 1 str = "文字" ary = [1, [2, 3]] p val # => 1 p str # => "文字" p ary # => [1, [2, 3]]引数を指定せずに単に p としても、メッセージウィンドウを表示できます。
また、複数の引数を指定することもでき、その場合は改行されて表示されます。
p 123, "次の行に文字" # => 123 "次の行に文字" p *[123, 456, 789] # => 123 456 789p メソッドを使うと、そのオブジェクトがどのクラスに属しているのかがわかります。
数値なら 123 、文字列なら "abc" 、配列なら [1, 2, 3] 、ハッシュなら {1 => ""}、
その他のクラスなら #<Hoge:0x288f73c> のように表示されます。
5.バックアップ
素材スクリプトなどをアップデートする際には、必ずバックアップを取っておきます。
新しいバージョンでは、バグ修正や機能追加が行われているので是非入れ替えたいですが、
その影響で旧バージョンでは起きなかった問題が発生することがあります。
大半の素材屋さんでは、旧バージョンを配布していません。
なので、このような問題が起こった場合のためにバックアップを取っておきます。
バックアップするスクリプトは、メインセクションより下へ移動しましょう。
コメントアウトでもいいですが、スクリプト中でクイック機能が使われていると使えません。
複数行コメントも同様に使えません。ネストすることが出来ないので。
ですので、画像のようにバックアップセクションを作り、そのセクションには exit と記入しておきます。
この行に来るとプログラムが強制終了されるので、それ以降のセクションは実行されることがなくなります。
全検索したときにバックアップされたものだと分かりやすいように # を付けています。
新しいバージョンでは、バグ修正や機能追加が行われているので是非入れ替えたいですが、
その影響で旧バージョンでは起きなかった問題が発生することがあります。
大半の素材屋さんでは、旧バージョンを配布していません。
なので、このような問題が起こった場合のためにバックアップを取っておきます。
バックアップするスクリプトは、メインセクションより下へ移動しましょう。
コメントアウトでもいいですが、スクリプト中でクイック機能が使われていると使えません。
複数行コメントも同様に使えません。ネストすることが出来ないので。
ですので、画像のようにバックアップセクションを作り、そのセクションには exit と記入しておきます。
この行に来るとプログラムが強制終了されるので、それ以降のセクションは実行されることがなくなります。
全検索したときにバックアップされたものだと分かりやすいように # を付けています。