前回は最後にHello, Worldを表示しましたね。
このとき使った関数がcatでした。
UNIXを使ったことがある人には聞き覚えがある名前ですね(にゃんこじゃないってことは周知の事実?)。
それじゃ今回は少しこれについて説明しましょう。
まず、次のコードを打ち込んでください。
> cat("Hoge")
どうですか?
Hoge>
と表示されたはずです。
今回は改行されていないことに注意してください。
この\nというのが改行(改行+復帰がより正確?)を表していたのです。
これは多くのプログラム言語で共通で、エスケープシーケンスとか調べるとたぶん表とかあると思います。
ついでにもう一個紹介しましょう。
さっきの行末に\tを加えてみてください。
今度は行末にタブ文字が挿入されたましたね。
では、文字列として"を表示したいとしたらどうしますか?
cat(""")とか書くとエラーになります。
じゃあってことでcat("”")というのは要求を満たしていないので失格です。
ではどうすれば文字列"を表示できるのかというと\をその前につければよいのです。
はい、これで単純な文字列の表示は終わりです。
さて、今度は変数を表示しよう。
まず、次のように打ち込んでほしい。
>x=10; y=20 >cat(x, "+", y, "=", x+y, "\n")
この結果は
10 + 20 = 30
となったはずだ。
ここから分かることは、変数は"で囲まずに指定すること、
複数の要素を表示するときは,で区切ること、
,で区切るとスペースが挿入されること、
計算の結果を表示することもできることである。
表示の基本なので憶えておいてほしい。
ちなみにxを表示するときにcat(x)と入力するのはちょっと面倒かもしれない。
改行まで入れると、cat(x, "\n")である。
とりあえず何が入っているか知りたいだけなら、単にxと入力すればいい。
これで中身が表示される。
上で紹介した内容で当分は大丈夫だと思いますが、 オプションを指定することでちょっとだけ便利な表示ができます。 分からなければ後から戻ってくればいいので、飛ばしていいです。
sepは要素間の文字を指定します。 これはベクトルを表示するときに便利です。 例を次に示します。
>cat(-1:4, sep=", ") -1, 0, 1, 2, 3, 4>
要素と要素の間に", "が挿入されていることが分かりますね。 しかし、このとき"\n"で改行するとちょっと困ったことがあります。 ちょっと確かめてみてください。
では、どう改行すればよいのでしょうか?それようのオプションを使えば良いのです。 それがこのfillです。これにTを指定すると、改行されます。次がその例です。
>cat(-1:4, sep=", ", fill=T) -1, 0, 1, 2, 3, 4
これでOKですね。
labelsの紹介をして、catについては終わりにしましょう。
labelsは行頭の文字を指定するオプションです。
このオプションには1つ注意があります。
それはfillがTでないと使えないということです。
一応例を次に示しておきます。
>cat(-1:4, sep=", ", fill=T, labels="-1:4 =") -1:4 = -1, 0, 1, 2, 3, 4
ね、かんたんでしょ?
>cat(-1:4, sep=", ", fill=T) -1, 0, 1, 2, 3, 4