はじめに
個人的な学習のまとめです!
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/インデント/{})指定するかに個性がある感じですね!
ご一読頂き、ありがとうございました!