ゴリラからの逃走

意識が高いだけで何もできなかった頃(=ゴリラ)から変わるために日々行なっていることを書いています。

Rubyトレーニング11日目

Ruby on Rails 超入門

Modelとデータベースを使おう

.scss .coffeeをコンパイルして使うには、config>initializer>assets.rbに以下のように追記が必要。

Rails.application.config.assets.precompile += %w( cards.css )
Rails.application.config.assets.precompile += %w( cards.js )

データベースを更に使いこなせ!

Rails6の変更点。 https://re-engines.com/2019/08/26/rails-6%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9/

エラー。

Webpacker::Manifest::MissingEntryError

qiita.com

teratail.com

たのしいRuby

第14章 文字列クラス

元の文字列に入れる。

hello = "hello"
world = "world"

hello << world
p hello # helloworld

文字列の検索(インデクスを返す方法と、単純に含まれるかどうかを調べる方法)

hello = "hello"
world = "world"

p hello.index("l") # 2
p hello.include?("l") # true

練習問題
1.文字列を配列にする

p %w{Ruby is an object oriented}
str = "Ruby is an object oriented"
p str.split(" ")

2.1をアルファベット順にソート

str = "Ruby is an object oriented"
p str.split(" ").sort

3.大文字小文字区別せずにアルファベット順ソート

str = "Ruby is an object oriented"
p str.split(" ").sort{|a,b| a.upcase <=> b.upcase}

4.使われている文字とその数を表示。

str = "Ruby is an object oriented"
hsh = {}
str.each_char { |chr|
  if hsh[chr]
    hsh[chr] += 1
  else
   hsh[chr] = 1
  end
 }
list =  hsh.sort
for i in list
  print i[0]," : ","*"*i[1],"\n"
end

count = Hash.new(0)みたいに デフォルト値0を与えておく と、条件分岐を作らなくても良いみたい。

str = "Ruby is an object oriented"
hsh = Hash.new(0)
str.each_char { |chr|
    hsh[chr] += 1
 }
list =  hsh.sort
for i in list
  print i[0]," : ","*"*i[1],"\n"
end

5.漢数字をローマ数字に直す

解答例と全然違う方法で作ったら一桁目が0の時(110とか)うまくいかない。

def kan2num(sample)
  change_kanji_roma = {"二" => 2, "三" => 3, "四" => 4, "五" => 5, "六" => 6, "七" => 7, "八" => 8, "九" => 9}
  roma = []
  series = ["千", "百", "十"]

  for i in series
    if sample.include?(i)
      sen_sut = sample.split(i)
      if sen_sut[0] == ""
        roma.push(1)
        sample = sen_sut[1]
      else
        roma.push(change_kanji_roma[sen_sut[0]])
        sample = sen_sut[1]
      end
    end
  end
  if sample == ""
    roma.push(0)
  else
    roma.push(change_kanji_roma[sample])
  end
  return roma.join
end

p kan2num("七千百二十三")
p kan2num("千百二十")
p kan2num("五千三百六十二")
p kan2num("三")

■今日の実績 f:id:aoki-shiraki21:20200213074211p:plain