uetennis’s diary

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

lsコマンド #18  メソッド名考えるの難しい! wcコマンドの課題つづき 8/13 日報

今日やる事

  • lsコマンドのメソッド名を考える

勉強した事

attr_reader :opt, :files, :stat

:statを消したら、こんなエラーが。。

(m・_・bp) 22:00 ~ % ruby ls.rb -lar
Traceback (most recent call last):
    1: from ls.rb:127:in `<main>'
ls.rb:127:in `new': wrong number of arguments (given 1, expected 0) (ArgumentError)

なんでかなと思い、まだattr_readerとローカル変数とインスタンス変数がわかってないかなと、復習した。色々と変更したが、動かず。。。 途方にくれたが、原因はわかった!

  attr_reader :opt, :files,

files,のカンマが余分にあったからだ。。

LSコマンドのメソッド名考える

友人からメソッド名についてアドバイスを頂いた!

- メソッドの処理を日本語で書いてみる
- その日本語を見て複数の役割があった時はメソッドを分割(これは今回考えなくて良いかと思います)
- その日本語から、class名を主語、メソッド名が動詞となって意味が通じる英単語がパッと思いつけば、それに付けて、そうでなければ、作成した日本語をとりあえず、翻訳にかけます
- 翻訳をかけて、あとはシソーラスを見て、なんか良さそうな英語が見つかったらそれを付けます(けど、そういう時ってちょっとまだ命名が気持ち悪かったりもします)

メソッドの処理を日本語で書いてみるのはとても大切かも!

直すメソッド名

  • def generate
  • def ordinary
  • def pop
  • def details_join

    変更前のメソッド名の処理を日本語で書く!メソッド名の候補も書く!

    def generate

  • オプションlaとなしの条件分岐 =>Use conditions. Select Terms Choose 単純にselectもいいかも!

    def ordinary

  • オプションなしとオプションrの時のに使う。現在いるファイルやディレクトリの情報を表示させる。もっとも利用する。 => Aligning general files

    def pop

  • オプションaの時に使う。すべてを表示させる。ファイル名の先頭にピリオドがあるファイルも表示する。先頭にピリオドがあるファイルはLinuxのシステムと結びつき、普段簡単には編集されたくない設定ファイルもある。 => aligning_all_files

def details_join

  • 分解したオプションlのを空の配列に入れてくっつけた。 => connecting_details_information

wcコマンドの課題

こちらのサイトを参考にした。(前回私の書いた日報と重複します) Ruby's ARGF

ちょっと進捗あって嬉しい。

file_data = []

if ARGV.length > 0
  ARGV.each do |filename|
    file_read = File.read(filename)
    file_data << file_read.count("\n").to_s.rjust(8)
    file_data << file_read.split(" ").size.to_s.rjust(8)
    file_data << file_read.bytesize.to_s.rjust(8)
    file_data << File.basename(filename).to_s.rjust(6)
  end
else
  puts STDIN.read
end

p file_data

# (m・_・bp) 19:40 ~/Desktop/vsnote2.0/kadai/wc % ruby memo.rb ls.rb a.rb
# ["     150", "     419", "    3696", " ls.rb", "      16", "      47", "     328", "  a.rb"]

感想

  • メソッド名決めるのがこんなに大変なんて。。と思いました😅

参考

lsコマンドの使い方と覚えたい15のオプション【Linuxコマンド集】

Visual Studio Codeでファイル名の検索 | ハックノート

【Mac向け】VSCodeで必ず覚えておきたいショートカット集 - Qiita