201201アウトプット 打ち込み、悩む、苦しみ、楽しむ。
【今日の振り返り】
転職も兼ねてポートフォリの作成をすすめる。
実際にやりたかったことを一度棚上げして、再度新しいものを作りはじめる。
好きなものは内側を見つめるようなイメージになってしまったため、
アプリ的にプラスアルファの機能がとってつけたような、理由臭が漂ったため止める
捨てたわけでもないので、いつか拾いに行ける日まで待ってておくれ。
ということで心機一転考えたものは、またこれとない真逆の機能詰め合わせの集大成
やることが多すぎる、ER図面を記述しただけで心が踊ってくる。
図面を書いてただけでこれだけ面白いなら、実際の工程はもっと面白くなる。
終わらせられるかではない、どれだけ真剣に打ち込めるか、楽しめるか。
それでも終わらせるために、とてつもなく悩み、苦しめ、自分。
◯ エラー
・きっかけ
→rubocop導入した際に、parallelが読み込まないよと吐き出される
```
inamurateppei@mbp app% touch .rubocop.yml
inamurateppei@mbpapp% bundle exec rubocop
warning: parser/current is loading parser/ruby26, which recognizes
warning: 2.6.6-compliant syntax, but you are running 2.6.5.
warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
bundler: failed to load command: rubocop (/Users/inamurateppei/.rbenv/versions/2.6.5/bin/rubocop)
LoadError: cannot load such file -- parallel
```
・下記内容よりparserと呼ばれるもののバージョンが異なるのではと推測し調べる
warning: parser/current is loading parser/ruby26, which recognizes
warning: 2.6.6-compliant syntax, but you are running 2.6.5.
・Gemlockを削除して再度bundle
inamurateppei@mbpapp % bundle
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/.
Could not find gem 'rubocop1.4.1' in any of the gem sources listed in your Gemfile.
LoadError: cannot load such file -- paralle
```
・語尾のparalleに目をつけて考察
RUNTIME依存性 (8):
- parallel ~> 1.10
- parser >= 2.7.1.5
- rainbow >= 2.2.2, < 4.0
- regexp_parser >= 1.8
- rexml >= 0
- rubocop-ast >= 1.1.1
- ruby-progressbar ~> 1.7
- unicode-display_width >= 1.4.0, < 2.0
・と記述があるため、文字通りにparallelがないとあるので下記コマンド
inamurateppei@mbp app % gem install parallel
bundle install
・無事起動する
bundle exec rubocop 成功
・理由は不明瞭だが、ルボコップを入れた際にparallelが入っていなかった
・ちなみに当初よりGemfile.lockにはparallelの記述だけは記載があり
rubocop (1.4.1)
parallel (~> 1.10)
_________________________________________________________________________________________
以下 おまけ
問題.1
正の整数を入力します。その整数が、
10の倍数(10,20,30...)からの差が2以内であるときはTrue
それ以外はFalse
と出力するメソッドを作りましょう。
模範解答
def near_ten(num) quotient = num % 10 if quotient <= 2 || quotient >= 8 puts "True" else puts "False" end end
「10の倍数からの差」を考えるためには、一の位の値に着目します。
すなわち、一の位が「0,1,2,8,9」のどれかであれば
「10の倍数からの差が2以内」と判断することができます。
したがって、変数quotientに一の位の値を代入し、
quotient <= 2 || quotient >= 8
で「0,1,2,8,9」のどれかに当てはまるか
どうかを確認しています。