LoginSignup
3
3

More than 3 years have passed since last update.

【基本文法編】Ruby/Python/PHPの違い

Last updated at Posted at 2020-02-18

はじめに

個人的な学習のまとめです!
3つの言語の基本文法を学習したのでまとめてみました!

1. 出力

Ruby
   puts "Hello, world"
Python
   print("Hello, world")
PHP
   echo "Hello, world";

2. 変数

Ruby
   variable = "変数”
Python
   variable = "変数”
PHP
  $variable = "変数”;

3.プロパティ値の出力

Ruby
   # attr_accessor :name 等でゲッターを定義する
   puts person.name
Python
   # def __init__ 等でゲッターを定義する
   print(person.name)
PHP
  echo $person->name();

4. If文

Ruby
   if number % 15 == 0
     puts "FizzBuzz" 
   elsif number % 3 == 0
     puts "Fizz"
   elsif number % 5 == 0
     puts "Buzz"
   else 
     puts number
   end  
Python
   if number % 15 == 0:
     print("FizzBuzz") 
   elif number % 3 == 0:
     print("Fizz")
   elif number % 5 == 0:
     print("Buzz")
   else:
     print(number)  
PHP
  if (number % 15 == 0){
     echo "FizzBuzz";
   } elseif (number % 3 == 0){
     echo "Fizz";
   } elseif (number % 5 == 0){
     echo "Buzz";
   } else {
     echo $number;
   }

5. 配列/ハッシュ編

Ruby
   # 配列
   array = ["赤", "青", "黄"]
   # ハッシュ
   hash = {"大阪府": "大阪", "愛知県": "名古屋", "東京都": "東京?"}
Python
   # リスト
   lists = ["赤", "青", "黄"]
   # 辞書
   dict = {"大阪府": "大阪", "愛知県": "名古屋", "東京都": "東京?"}
PHP
    //配列
   $array = ["赤", "青", "黄"];
   //連想配列
   $associative_array = [
           "大阪府" => "大阪",
           "愛知県" => "名古屋",
           "東京都" => "東京?"
   ];

6. 繰り返し構文

6-1.ループ処理

Ruby
   i = 1
   while i <= 100 do
     # 処理
     i += 1
   end
Python
   i = 1
   while i <= 100:
    # 処理
    i += 1

   for i in range(1, 101):
    # 処理
PHP
  for ($i = 1;$i <= 100;$i++){
  //処理 
  }

6-2. 反復処理(?)

Ruby
   array.each do |value|
     #処理
   end

   hash.each {|key, value|
    #処理
   }
Python
  for value in lists:
    # 処理

  for key in dict:
     # 処理
PHP
  foreach($array as $value){
    //処理 
  }

  foreach($associativeArray as $key => $value){
    //処理
  }

7.関数定義

Ruby
  def hello
   # 処理
  end   
Python
   def hello():
     # 処理
     return # 戻り値
PHP
  function hello() {
    // 処理
    return // 戻り値
  }

8.クラスとインスタンス

Ruby
   class Person
     @@number = 0

     def self.classmethod
      # 処理
     end

     def initialize(name)
        @name = name
     end

     person = Person.new("山田")
   end   
Python
  class Person:
     number = 0

     @classmethod
     def classmethod(cls):
       # 処理

     def __init__(self, name):
       self.name = name
     end

     person = Person("山田")
   end   
PHP
  class Person {
    private static $number;
    private $name;

    public function static function classmethod(){
      echo self::$number;
    }

    public function __construct($name){
      $this->name = $name;
    }
    $person = new Person();
  }

9.ゲッターとセッター

Ruby
   def setName(name)
     @name = name
   end

   def getName
    @name
   end
   #あるいは
   attr_accessor :name
Python
   def __init__(self, name):
        self._name = name

    @property
    def name(self):
        return self.__name

    @name.setter
    def name(self, name):
        self.__name = name
PHP
  public function setName($name) {
    $this->name = $name;
  }

  public function getName() {
    return $this->name;
  }

10.最後に

1ブロックをどのように(end/インデント/{})指定するかに個性がある感じですね!
ご一読頂き、ありがとうございました!:relaxed:

3
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3