コジマです。
はじめに
本を読んだり動画を見たりしながらプログラミングの勉強をする人は結構多いと思います。
ただ、やはり実際に手を動かすってとても大事なことですよね。
paiza、ドットインストール、Progateなどなどプログラミングの学習ができる
サービスは色々増えてきていますね。
せっかくインプットしても自分の力でアウトプットしていかないと
学習したことも台無しになってしまいます。
そこで実際に手を動かしてトライアンドエラーを繰り返す
ことが大事になってきます。
結局何がいいの?
トライアンドエラーを繰り返していくことで
- 理解の幅を広げる
- やっちゃいけないことを知る
といった効果を得ることができます。
実際どういうことなのかRubyでHello Worldをしていく例を見ていきましょう。
普通にHello Worldしてみる
今回はサクッとやるためirbを使うことにします。
RubyでHello Worldするためにはputsを使えば良いですね。
irb(main):001:0> puts "Hello World!" Hello World! => nil
ここまで問題ないですね。
ここであなたは
「puts “Hello World!”」と入力すると「Hello World!」を出力できることがわかりました。
Hello Worldを別の言葉にしてみる
「Hello World!」と入力して「Hello World!」と出てくるんですから
「Good Bye!」とか入れたら「Good Bye!」と返してくれそうですね。
試してみましょう。
irb(main):001:0> puts "Good Bye!" Good Bye! => nil
いきましたねー。
これで
「puts ”なんちゃら”」でなんちゃらの部分変更可能だとわかりましたね。
シングルクォートにしてみる
ダブルクォートできるんだからシングルクォートもできそうな気がしますね。
やってみましょう。
irb(main):002:0> puts 'Hello World!' Hello World! => nil
できましたね。
これで
「puts “なんちゃら”」または「puts ‘なんちゃら’」という記法が使える
ということがわかりました。
トライアンドエラーをする上で大事なのがささやかな疑問を持つことです。
シングルクォートとダブルクォートの違いはなんぞ??
と思うのが自然だと思います。
結論から言うとエスケープ文字を処理するかしないかという違いがあります。
それぞれ入力値を「Hello World!\nGood Bye!」として違いを見ます。
irb(main):005:0> puts "Hello World!\nGood Bye!" Hello World! Good Bye! => nil irb(main):006:0> puts 'Hello World!\nGood Bye!' Hello World!\nGood Bye! => nil
ダブルクォートはエスケープ文字を処理して二行で表示されました。
シングルクォートは¥nはエスケープされず、文字列として処理されました。
これで
ダブルクォートはエスケープ文字を処理する、シングルクォートはエスケープ文字を処理しない
ことがわかりました。
putsを大文字にしてみる
大文字と小文字区別するかなぁってことでputsを大文字にしてみます。
irb(main):007:0> PUTS "Hello World!" NoMethodError: undefined method `PUTS' for main:Object Did you mean? puts putc from (irb):7 from /usr/bin/irb:11:in `<main>'
エラーになっちゃいましたね。
これでputsを大文字にしてはいけないことがわかりました。
こんなもんにしておきましょう。まとめます。
まとめよう
トライアンドエラーをせずHello Worldしただけの人と比べてみましょう。
トライアンドエラーしない人
- puts “Hello World!”することで「Hello World!」と表示できる
トライアンドエラーした人
- puts “Hello World!”することで「Hello World!」と表示できる
- “”の中の文字列は変更OK
- ”も使える
- “”と”の違いはエスケープ文字にあり
- putsを大文字にしてはいけない
得られた情報量が全然違いますね。
同じHello World!でもこれだけ背景が見えている人とそうでない人では
見えている方がいいですよね。
(奥が深い…。)
エラー経験を積んでいくとエラーの対応力がつくので、
現場で役に立ちます。
トライアンドエラーを繰り返して
- ささやかな疑問を持つようにして
- エラーの対応力をつけて
一流のエンジニアに近づいていきましょう!
一緒に頑張っていきましょ!
それではまた!