スクリプト/はじめてのRmakeスクリプト / 第02回 変数と文字列をマスターしよう(履歴ID:267)
最終投稿者: aoihikawa
更新:2012/06/19 09:06:04
はじめてのRmakeスクリプト
第02回 変数と文字列をマスターしよう
こんにちは 簸川 葵(ひかわ あおい)と申します
こんにちは 剣 芽優(つるぎ めゆ)です
この連載ではスクリプトの基礎を、じっくりとお話していきます
よろしくお願いしまーす
02-01 変数と文字列
前回では変数と数値についてお話しました
今回は文字列についてお話しましょう
「ハローRmakeわーるど」っていう、あれのことかな・・・
有名な例文のひとつですね
それでは、変数に文字列を入れてみましょう
#「s」という名前の変数に、文字列「ハローRmakeわーるど」を入れる s = "ハローRmakeわーるど" #「t」という名前の変数に、変数「s」の中身を入れる t = s #変数「t」の中身を表示する speak(t)
基本的には数値を入れたときと同じです
「=」を使って、右から左に入れるのね
違う点は、変数名と文字列が区別できるように
文字列は「"」(ダブルコーテーション)で囲みます
speak関数は変数の中身の表示ね
そのとおり 数値の場合と同じですね
なお、文字列の中には特殊な記号があり、
「\n」と書くと改行、「%Wait%」と書くとクリックするまで一時停止の動作になります
長文の会話に便利そうね
02-02 文字列の連結
文字列同士を「+」でつなぐと、連結することができます
数値の場合は足し算だったような
そうですね 変数の中身が数値か文字列かによって、動作が変わるわけです
#「s」という名前の変数に、文字列「ハロー」を入れる s = "ハロー" #「t」という名前の変数に、変数「s」の中身と文字列「Rmake」を連結させて入れる t = s + "Rmake" #「t」という名前の変数を、変数「s」の中身と文字列「わーるど」を連結させて上書きする t = t + "わーるど" #変数「t」の中身を表示する speak(t)
変数「s」に文字列「ハロー」が入って、
変数「t」に「ハローRmake」が入って・・・
変数「t」に「ハローRmake」と「わーるど」が連結した
「ハローRmakeわーるど」が入ります
なお、speak関数では直接文字列を渡すこともできます
#文字列「ハローRmakeわーるど」を表示する speak("ハローRmakeわーるど") #文字列「ハロー」「Rmake」「わーるど」を連結して表示する speak("ハロー", "Rmake", "わーるど")
こっちの方が分かりやすい
必ず同じメッセージが表示される場合は、こちらの方が見やすいですね
状況によってメッセージを変えたい場合は変数を利用した方が便利です
また、「,」を使用した文字列連結はspeak関数による動作なので
それ以外での使用には注意が必要です
02-03 文字列と数値
文字列と数値で「+」の動作が変わると、思ったとおりに動作しないかも・・・
そういった場合はtoString関数やtoNumber関数を使います
新しい関数ですね
実際にスクリプトを見てみましょう
#「x」という名前の変数に、数値「10」を入れる x = 10 #「s」という名前の変数に、変数「x」をtoString関数で文字列にして入れる s = toString(x) #「s」という名前の変数に、変数「s」と文字列「ポイント」を連結して上書きする s = s + "ポイント"
toStringの前には、変数に入れる「=」があるのね
toString関数やtoNumber関数は、speak関数と違い『戻り値』があるからです
『戻り値』・・・?
動作のあと、実行した結果の値を返す関数があります
toString関数では数値を渡すと文字列にして返しています
この返ってきた値を『戻り値』といいます
つまり、toString関数の『戻り値』を変数「s」に入れているわけね
そのとおり ここで変数「x」の中身の数値は、文字列として変数「s」に入ります
文字列同士になるから、連結の動作になり「10ポイント」となるのね
ちなみにtoNumber関数では文字列を渡すと数値にして『戻り値』に返します
02-04 第02回 まとめ問題集
それでは、今回のまとめ問題です
よーっし がんばるよ
なお、回答は記載しておりません
スクリプトをコピーして、実際に動作させることでチェックしてください
問題01
次のスクリプトに実行結果が「こんにちは」と表示されるよう、1行を追加してください
#ここに追加する speak(s)
問題02
次のスクリプトに変数「x」を使用して実行結果が「70点」と表示されるよう、2行を追加してください
x = 70 #ここに追加する speak(s)
問題03
次のスクリプトに変数「s」を使用して実行結果が「50」と表示されるよう、2行を追加してください
s = "25" #ここに追加する speak(x)
できた! 上手く動くと楽しいね
なお、理解したかどうかの確認なので、コメントに回答を書かないでください
<連載一覧>
第01回 変数と数値をマスターしよう
第02回 変数と文字列をマスターしよう
第03回 変数とフラグをマスターしよう
第04回 配列変数をマスターしよう
第05回 通常変数をマスターしよう
第06回 数値の応用をマスターしよう
第07回 時間の動作をマスターしよう
第08回 ユーザ定義関数をマスターしよう
第09回 スクリプト用語のまとめ