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

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

#100DaysOfCode day14 Ruby(4)

目次

結論

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

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

何ができないか?

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

学んだこと

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

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

クラスとインスタンス

  • クラス名は必ず大文字で始める

  • 「end」を書く必要がある

  • インスタンス変数は,attr_accessorを使って定義する.クラス内で複数指定することも可能.

  • インスタンスメソッド内で,「self.変数名」とすることで,インスタンス変数として扱える

  • initializeメソッドも,キーワード引数が使える

  • インスタンスも配列の要素することができる

ファイルを分割

  • ファイルの管理を簡単にするため

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

  • Rubyの文法の基礎の基礎を学んだ
## クラスの定義
class Hoge
  attr_accessor :foo

  def initialize(arg1:, arg2:)
     # do something
     self.arg1 = value1
     self.arg2 = value2
  end
end

## インスタンスの生成
hoge = Hoge.new(arg1: "foo", arg2: "bar")

## ファイルの読み込み
require "./file_name"


## 入力の受け取り
arg = gets.chomp

### 数値の場合
arg1 = gets.chomp.to_i

次に何をやるべきか?

  • Ruby 学習コース V

感想

  • 17の演習で,メニューの番号が0よりも小さい/4以上の入力が来たときの対処が必要そう.

参考

prog-8.com