Perl入学式第二回 軽く復習とついていけなかったところをやる②
この記事は上記エントリの続きです。ところで、最後の方にやった練習問題なのですが、問題の意図として「文字連結を使ってみよう!」というのがあったと思うのですが、スカラ変数に格納する形で冗長なコードを書いて逃げたので、そこもやり直そうと思います……。まだいまいち文字列連結を理解しきれていませんが、ここで逃げたらおそらく後が大変なので。
というわけで。


色々頭を悩ませた上でこうなった。ふむ、.と;が近いとな。じゃあちょっと離してみるかと思ってスペースを入れたけどそういう問題ではなかった。エラー文はちゃんと読もう!


結構良いところに気がつけたと思ったんだけどなあ……。
結局ギブアップして人に聞きました。


や~っと納得出来た。何に躓いていたかと言うと、.で左右の文字列が繋がっているというところがうまく飲み込めていなくて、そこのところを聞いたらすっきりした。いや、なんかやっぱり変なところで躓くなあ……。これ第二回のPerl入学式のとき絶対にわかってないけどすっ飛ばしてただろと思った。その場の誤魔化しは後で負債を背負うことになって良くないのでやめましょう。
■if,else文
・制御構文→なんとなく理解したけど、初学者的にはまちがいを先に説明されると間違いをインプットしてしまいそうな印象を受けました。でも前回の私は理解してたっぽくてすごい!elseが省略しても大丈夫な話も改めて読むと混乱しそうだなあ……。実際に書いてみたら何も出力されなかったのでなるほど~となった。何も出力されないとやだ~このいけずぅ~と思っちゃいますネ。
・比較演算子→いやこんなん覚えられないでしょwっつって書いてるうちに覚えるということにしました。数値と文字列では使える演算子が違うことがわかったけど、数値なら文字列ということにして強引に実行することも出来るっぽいの落とし穴感がすごい。
・数値の比較と文字列の比較→わけわからなすぎて一瞬で悲鳴をあげたけれど、教えてくれた人曰く「こんなこと普通しない」とのことだったのでスルーしました。
・真偽値の話→これPerl以外もやってる人向けの説明だな~と思ってまあまあスルーしました。偽値としての例も実は!=にすると反転して真になるって話を聞いたときはキレましたね。
ということで練習問題!


書くワゾヨ~と思っていたら前回の私が数字あてゲームを書いていた。ぱっと見て特に問題も無さそうだし読めるコードを書いていたので実行してみた。特に問題なし。ただ、"数字あてゲーム"としては不親切かな、と思う。間違ってたら大きいか小さいかだけを出力してプログラムが終了してしまうので、再チャレンジが出来ない。大きすぎる数字を入力したら"too big"と表示されるところまでは良くて、その次にまた数字を入力出来るプログラム、頑張れば書けそうな気はするので、後でチャレンジしてみようかなあ。
力尽きたので②はここまで。論理演算子までやろうかと思ったけれど、"かつ"とか"または"がきていたので完全に苦手なやつ。ちょっと頭も疲れたし、おやつ食べます。できれば③で完結させたい。