Ruby勉強。Python走行距離問題をRubyで書く

 

Rubyの学習中ですが、ProgateもCODEPREPも終えてしまいました。

そうすると、何か作成したいプログラムない限りコードを書かなくなってしまいます。

そこで、CODEPREPのPython演習問題をRubyで記述してみることにしました。

Pythonについても一緒に学習できるので個人的には一石二鳥な感じです。

 

PythonもRubyも両方扱えて悪い事はありません。

 

Ruby用の問題集がなくても他の課題で代替すれば勉強が可能なので、ほぼ無限に学習が出来ることに気づきました。

もちろん、回答などはありませんが処理した結果を確認すればいいだけです。

今度はPythonの学習についても紹介していきたいですね。

 

特に私のようにインフラエンジニア寄りのSEは尚更たくさんコードを書かないと覚えられません。

 

シェルスクリプトやバッチよりも少し難易度が上がるため、慣れるまでに時間がかかるかもしれません。

また、シェルスクリプトやバッチはOS上で扱えるコマンドを前提とした処理なので、その点はスクリプト言語やプログラミング言語とは大きく知識が異なります。

前置きが長くなりましたが、実際に紹介していきたいと思います。

 

スポンサーリンク

Pythonの走行距離問題

冒頭で記載した通り、CODEPREPPython演習問題を使ってコードを書いていきます。

Pythonの基礎学習も終わっていて、両方でコードを書きながら進めていきます。

たまに知識が絡まりますが、違いを抑えていくのも悪くないところです。

 

この演習では、クラスCarを定義して、Initializeメソッドを利用して生成するインスタンスに初期値に燃料と燃焼効率を引き渡します。

その後、reachableメソッドを呼び出すときに距離を指定することで、現在の燃料と燃料効率でその距離を走行しきれるかを判別する問題です。

以下、回答事例ですがほぼ解答と一緒かもしれません。

 

Python解答例


class Car:
  def __init__(self, fuel, fuel_consumption):
    self.fuel = fuel
    self.fuel_consumption = fuel_consumption

  def reachable(self, distance):
    return distance <= self.fuel * self.fuel_consumption

car = Car(100, 10)
print(car.reachable(100))
 

 

Ruby解答例


class Car
  attr_accessor :fuel
  attr_accessor :fuel_consumption

  def initialize(fuel, fuel_consumption)
    @fuel = fuel
    @fuel_consumption = fuel_consumption
  end

  def reachable(distance)
    limit_distance = fuel_consumption * fuel
    return distance > limit_distance
  end
end

car = Car.new(100, 10)
puts car.reachable(100)
 

 

Atomなどを使って実際に実行してみると、解答通りの挙動か正確に確認できますね。

比較的、簡単な問題ですが2~3日に一回はコードを書かないと忘れそうなので他の言語の演習を使ってRubyの学習を継続したいと思います。

 

 

スポンサーリンク

フォローする

合わせて読んでみる

良ければ他の記事もどうぞ!



スポンサーリンク