30代でジョブチェンジ

30代中盤、社会人経験約10年の男性です。転職をしてすぐに退職勧奨を受けて無職をしながらIT関連の学習をしていました。現在は業界で就労中です。

プログラミングの問題で困った

 

標準入力?

「標準入力から得られるインプットを用いて、アウトプットをする。」

これはなんとなく意味がわかる。

次に標準入力の参考例を見る。

例えば勉強中のRubyなら

  1. while line=gets
  2.     puts line.chomp.upcase
  3. end

 こんな具合。これの意味がどうもわからなかった。昨日解決したので記す。

これだけだとさっぱりなので、インプットとアウトプットを参考にする。

 

インプット

hello
world 

アウトプット

HELLO
WORLD 

このインプットの受け取りかたは複数行のインプットがある時に使う受け取りかたで、helloで1行、worldで2行という形。while line=gets は1行づつ読み込んで行きまっせ。ということなのだ。

この参考を無視しまくって、x=gets.to_iとか、x=readlinesとかしていたから、

いつまでも全ての行の標準入力が受け取れなくて、エラーが返ってきていたようだ。

 

 

Whileの中でなにをやっているのか

whileは確か、真の限り実行をするよということなので、getsできる限り入力を受け付けて実行していくよということか。chompで改行を削除して、upcaseで大きくしている。

1行目のhelloで puts line.chomp.upcaseを実行して、2行目でも同様に実行を繰り返す手順となる。

プログラミングの問題を解こうにも・・

初学者としてはこの辺りを書籍などで解説をしてもらえればありがたいと思う。

例えば言語で配列やら条件分岐やら記法やら文法として網羅されているが、

標準入力からデータをどうやって受け取るかが少なくとも自分はわからなかった。

だから解答を書く時while文の中に書くのかどうするのかすらもわからなかった。