uetennis’s diary

プログラミングについて学んだ事やライフハックについてかきます

やりたい事

今日はeach_sliceの勉強する。本家のlsコマンドみたいにきれいに表示させたい。 煮詰まって時に、関係のない事をしたりしがちだから、もし煮詰まったらは質問文を考えるようにしたい。1日のやる事を勉強メインにして、休憩中に 休憩中にやりたい事リストのタスクをしたい。

休憩中にやりたい事

  • yoga
  • HIIT
  • 昼飯と仮眠
  • 日記とログをまとめた記録を残したり投稿する
  • duolingoとDropsというアプリで英語の勉強
  • softskillsを読む

7/30 振り返り

7時から8時30分まで

日報読む。

繰り返し処理はこちら参考にするといいみたい。 module Enumerable (Ruby 2.7.0 リファレンスマニュアル)

配列はこちら class Array (Ruby 2.7.0 リファレンスマニュアル)

ターミナル幅の取得 => 難しい。読んでいて理解できない。 IO.console_size (Ruby 2.7.0 リファレンスマニュアル)

これつかえばちゃんと揃えられるかも Enumerable#each_cons (Ruby 2.7.0 リファレンスマニュアル)

(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
#    [2, 3, 4]
#    [3, 4, 5]
#    [4, 5, 6]
#    [5, 6, 7]
#    [6, 7, 8]
#    [7, 8, 9]
#    [8, 9, 10]

ちょっと違う。each_sliceに戻す。いい感じに改行できるメソッドはないか調べる。

つぶやき

タイピング早くなりたい。

音楽はこちらをかけた。

www.youtube.com

TODOハイライト便利だ。 f:id:uetennis:20200730215719p:plain

ヨガをする。

10時から11時30まで

カレンダープログラミング復習 煮詰まって集中できない。勉強に関係ない事してしまう。気分転換に買い物に行く。

つぶやき

猫の画像みて癒やされる。【圧倒的ネコまとめ】100枚のネコ画像!見て癒されるネコの写真素材まとめ | amanaimages PLUS MAGAZINE

次の作業BGM https://www.youtube.com/watch?v=wcNW-FvAJIU

昼ごはん

天丼てんや

image.png

デザート

image.png

14時から15時まで

tapメソッドの勉強 Object#tap (Ruby 2.7.0 リファレンスマニュアル)

少し進展があって嬉しい!

class LsCommand

  def not_option
    files = Dir.glob("*").sort
    files_array = []
    files.map do |x|
      files_array << x.to_s.ljust(20)
    end
    # files_slice_array = files_array.tap(&method(:p)).each_slice(3){ |a| a }
    files_slice_array = []
    files_array.each_slice(3) do |a|
      a = a.to_s
      files_slice_array << a
    end
    files_slice_array
  end

  def a_option
    Dir.glob("*").sort
  end

end
puts LsCommand.new.not_option
(m・_・bp) 14:28 ~/Desktop/vsnote2.0/kadai/lsコマンド % ruby ls3.rb
["aaa.rb              ", "bbb.rb              ", "ccc.rb              "]
["ddd.rb              ", "eee.rb              ", "fff.rb              "]
["g.rb                ", "h.rb                ", "i.rb                "]
["j.rb                ", "ls1.rb              ", "ls2.rb              "]
["ls3.rb              "]

つぶやき

作業bgm https://www.youtube.com/watch?v=v0Sdbf9DtgY

作業用bgmのストック増えて嬉しい😊

15時から17時まで

コンソールサイズにあわせて表示させたいから改めて日報読む!

表示できなくて悲しい。。何が行けないんだろう

# frozen_string_literal: true

require "optparse"
require "io/console/size"
IO.console_size[1]
class LsCommand

  def call
    ls_data
  end

  def ls_data
    [] << test
  end

  def test
    not_option.each_slice(3) do |x|
    array = []
      array << x.join("               ")
    end
  end

  def not_option
    Dir.glob("*").sort.map do |x|
      x.ljust(30)
    end
  end
end
puts LsCommand.new.call
(m・_・bp) 16:48 ~/Desktop/vsnote2.0/kadai/lsコマンド % ruby ls4.rb

(m・_・bp) 16:48 ~/Desktop/vsnote2.0/kadai/lsコマンド % 

できるだけ繰り返し処理内にputs入れたくない。

つぶやき

bgm https://www.youtube.com/watch?v=vo7Wq3iK3TA

17時30分から18時30分まで

繰り返し処理の外に[ ]の配列を作り、明示させれば表示できた!

  def test
    array = []
    not_option.each_slice(3) do |x|
      array << x.join("               ")
    end
    array
  end

つぶやき

ご飯食べたら、こちら調べる。

コンソールによって表示させたい。 Enumerable#max (Ruby 2.7.0 リファレンスマニュアル)

感想

明日は画面幅であわせて表示させたい。