思考のジャンプ幅が狭いなら,飛ぶ回数で補えばいいじゃない!!

非情報系30歳が競技プログラミングやWeb開発を始めるとどうなるか?

#100DaysOfCode day12 Ruby(2)

目次

結論

  • Ruby特有の要素と思われるシンボル(変数の前にコロン(:)をつける)を学んだ.文字列とほぼ同じように使える.ハッシュのキーとして使われることが多い.

何を達成したい(作りたい)か?

  • オリジナルアプリを公開すること.

何ができないか?

  • Railsを基礎となるRubyの理解があやふやな部分がある.

学んだこと

  • Ruby 学習コース IIを試しました.

  • Python3との違いを中心にメモします.

項目 Ruby Python3
何もない nil None

配列

  • putsを使うと要素ごと改行して出力される.

  • 要素の値も変数展開を用いて文字列に埋め込める.

ハッシュ

  • キーと値をセットで管理する

  • シンボル:キーを文字列ではなく,変数の前にコロン(:)をつけて記述する書き方.厳密には異なるものの文字列とほぼ同じように使える

  • 省略記法を用いた場合でも,キーにアクセスするときはシンボルを用いる

nil

  • 何もないことを表す

  • if文では,falseとnilだけfalse,それ以外はtrueとして扱われる

要素がハッシュである配列

  • 配列の要素にハッシュが使える.要素ごとに改行を入れることが多い.

  • 配列[インデックス番号][キー]でアクセスできる.

何ができるようになったか?

  • Rubyの文法の基礎の基礎を学んだ
## 繰り返し
elements.each do |element|
  # do something
end

## ハッシュ
hash = {key1:  value1, key2: value2}
puts hash[:key1]

if hash[:key3]
  # hoge
# nil もしくはfalseの場合
else
  # foo
end

## 配列の要素にハッシュを使う
hoges = [
  {key1: value1},
  {key2: value2}
]

### eachを使ったアクセス
hoges.each do |hoge|
  puts hoge[:key1]
end

次に何をやるべきか?

  • Ruby 学習コース III

感想

  • チェリー本でシンボルの理解を深める必要があると感じました.Railsチュートリアルを挫折する遠因の一つとなったためです.Python3の辞書型と似ているがゆえに,アクセス方法などで混乱していたのだと思います.

参考

prog-8.com