Différences d'écriture en Ruby, PHP, Java, JS

introduction

"J'ai appris les bases de la programmation avec Ruby, alors essayons js la prochaine fois!" ↓ "Je ne sais pas ce que c'est parce que c'est foiré!"

Y a-t-il une telle personne?

J'avais moi-même l'habitude de trop le bourrer et c'est devenu un chignon, alors j'ai essayé de résumer les différences de style d'écriture d'une manière facile à comprendre. Vous n'êtes pas obligé de vous souvenir de chacun d'entre eux, alors veuillez stocker cet article. Je pense que vous approfondirez votre compréhension de l'orientation des objets, alors jetez un œil à la fin!

Sortie de caractères

Sortie des caractères de base. C'est difficile car le traitement est différent selon la langue, mais c'est basique, alors tenons-le fermement. Après tout, Java a une longue description w

python


  #Ruby
  puts "Bonjour"

python


  #PHP
  echo "Bonjour";
  //Java
  System.out.println("Bonjour");
  //JavaScript
  console.log("Bonjour");

Affectation des variables

Programmation super basique, affectation variable.

python


  #Ruby
  name = "Tom"

python


  #PHP
  $name = "Tom";
  //Java(Spécifiez des types tels que String et int)
  String name = "Tom";
  //JavaScript
  let name = "Tom";

Expansion de variable, chaîne de caractères + variable

J'utilise aussi beaucoup cela. Ils sont tous similaires, mais il y a des différences. * La méthode d'écriture n'est qu'un exemple.

python


  #Ruby
  "mon nom est#{name}est."

python


  #PHP
  "mon nom est{$name}est."
  //Java
  "mon nom est"+ name + "est."
  //JavaScript(''ne pas``(Devis de retour)Entourez de)
  `mon nom est${name}est.`

si déclaration

Le représentant du traitement est l'instruction if. Notez la différence entre elsif.

python


  #Ruby
  if age >= 20
    #En traitement
  elsif age >= 10
    #En traitement
  else
    #En traitement
  end

python


  #PHP
  if (age>= 20){
    #En traitement
  }elseif (age >= 10){
    #En traitement
  }else{
    #En traitement
  }
  //Java & JavaScript
  if (age>= 20){
    //En traitement
  }else if (age >= 10){
    //En traitement
  }else{
    //En traitement
  }

Arrangement et comment récupérer

J'utilise souvent la récupération de séquence, et il existe différentes méthodes pour extraire une par une en fonction de la langue.

python


  #Ruby
  names = ["Tom","Kenta","John"]
  names[0]

python


  #PHP
  $names = array("Tom","Kenta","John");
  $names[0];
  //Java
  String names[] = {"Tom","Kenta","John"};
  names[0];
  //JavaScript
  const names = ["Tom","Kenta","John"];
  names[0];

Hash, tableau associatif, objet et comment récupérer

Soyez prudent lors de la recherche, car les noms diffèrent selon la langue.

python


  #Ruby(hacher)
  user = {name: "Tom",age: 20}
  user[:name]

python


  #PHP(Tableau associatif)
  $user = array("name" => "Tom","age" => 20)
  $user["name"]
  //JavaScript(objet)
  const user = {name: "Tom",age: 20};
  user.name

Méthodes et fonctions normales

C'est le point important. Cette fois, j'ai créé une méthode add (fonction) qui additionne les deux valeurs. La valeur de retour est également importante, alors tenez-la fermement.

python


  #Ruby
  def add(a, b)
    return a + b
  end
  sum = add(5, 2)

python


  #PHP
  function add($a, $b){
    return $a + $b;
  }
  $sum = add(5, 2);
  //Java
  public static int add(int a, int b){
  //int après static spécifie le type de retour, utilisez void pour les méthodes sans valeur de retour
    return a + b; 
  }
  int sum = add(5, 2);
  //JavaScript
  const add = function(a, b){
    return a + b;
  };
  let sum = add(5,2);

  //Ou
  const add = (a, b) => {
    return a + b;
  };
  let sum = add(5,2);

  //Ou
  function add (a, b){
    return a + b;
  }
  let sum = add(5,2);

La description recommandée de js diffère selon la version.

Classe et instanciation

Le début tant attendu orienté objet! Une classe Menu est créée et une instance est créée en fonction de cette classe et affectée à la variable menu1.

python


  #Ruby
  class Menu
    ##En traitement
  end
  menu1 = Menu.new

python


  #PHP
  class Menu{
    ##En traitement
  }
  $menu1 = new Menu();
  //Java
  class Menu{
    //En traitement
  }
  Menu menu1 = new Menu();
  //JavaScript
  class Menu{
    //En traitement
  }
  const menu1 = new Menu();

Définition des variables d'instance, des champs d'instance et des propriétés

Le menu contient des «informations» telles que le nom et le prix. Déclarez-le à l'avance dans la classe.

python


  #Ruby
  attr_accessor :name
  attr_accessor :price

python


  #PHP
  private $name;
  private $price;
  //Java
  private String name;
  private int price;
  //JavaScript
  //Aucune pré-définition requise?

Affectation aux variables et propriétés d'instance dans la méthode initiale

Maintenant, je suis arrivé à un endroit que je ne comprends pas! La méthode initiale est la méthode qui est appelée lorsqu'elle est nouvelle (la toute première). Cette fois, la valeur spécifiée dans le nouvel argument sera entrée dans la variable comme information d'instance dans la méthode initiale.

python


  #Ruby
  def initialize(name, price)
    self.name = name
    self.price = price
  end
  menu1 = Menu.new("Hamburger",300)

python


  #PHP
  public function __construct($name,$price){
    this->name = $name;
    this->price = $price;
  }
  $menu1 = new Menu("Hamburger",300);
  //Java
  //Définir une méthode avec le même nom que la classe dans la classe
  Menu(String name, int price){
    this.name = name;
    this.price = price;
  }
  Menu menu1 = new Menu("Hamburger",300)
  //JavaScript
  constructor (name, price){
    this.name = name;
    this.price = price;
  }
  const menu1 = new Menu("Hamburger",300)

Méthodes d'instance et appels

Enfin dernier. L'instance a "traitement" en plus de "information". Cette fois, comment définir et appeler le processus. Puisque l'instance créée à partir de la classe Menu est affectée à la variable menu1, La sortie sera "Ce hamburger est de 300 yens".

python


  #Ruby
  def show
    puts "cette#{self.name}Est#{self.price}C'est un cercle"
  end
  menu1.show

python


  #PHP
  public function show(){
    echo "cette{$this->name}Est{$this->price}C'est un cercle";
  }
  $menu1->show();
  //Java
  public void show(){
    System.out.println("cette"+this.name+"Est"+this.price+"C'est un cercle");
  }
  menu1.show();
  //JavaScript
  show(){
    console.log(`cette${this.name}Est${this.price}C'est un cercle`);
  }
  menu1.show();

À la fin

Merci d'avoir regardé jusqu'à la fin. Il peut y avoir des omissions et des erreurs, mais soyez patient! !!

Ce n'est pas si bon d'apprendre peu profondément et largement dans ce monde, mais je pense qu'il est bon d'essayer une autre langue pour approfondir vos connaissances.

Recommended Posts

Différences d'écriture en Ruby, PHP, Java, JS
Différences dans l'écriture des classes Java, C # et Javascript
Implémenter la fonction PHP implode en Java
Discussion continue sur l'écriture de Java avec Emacs @ 2018
L'histoire de l'écriture de Java dans Emacs
Lire et écrire des fichiers gzip en Java
Partition en Java
Écriture verticale rubis
Changements dans Java 11
[Comprendre] Différence entre le hachage et le tableau dans Ruby
Janken à Java
Résumer les différences entre l'écriture C # et Java
Lourd en rubis! ??
Code d'écriture Ruby
Taux circonférentiel à Java
Crypter / décrypter avec AES256 en PHP et Java
FizzBuzz en Java
Organisez la différence de confort d'écriture entre l'expression lambda Java et l'expression lambda Kotlin.
Ce qui m'a impressionné en tant que débutant dans l'écriture de Ruby
Différences de code lors de l'utilisation du système de longueur en Java
Lire JSON en Java
Implémentation de l'interpréteur par Java
Faites un blackjack avec Java
Application Janken en Java
Programmation par contraintes en Java
Mettez java8 dans centos7
NVL-ish guy en Java
Joindre des tableaux en Java
"Hello World" en Java
Commentaires dans la source Java
Fonctions Azure en Java
Formater XML en Java
Simple htmlspecialchars en Java
Implémentation Boyer-Moore en Java
Hello World en Java
Utiliser OpenCV avec Java
Mémorandum WebApi avec Java
Détermination de type en Java
Exécuter des commandes en Java (ping)
Divers threads en java
De Java à Ruby !!
Implémentation du tri de tas (en java)
API Zabbix en Java
Art ASCII à Java
Comparer des listes en Java
POST JSON en Java
Exprimer l'échec en Java
Triangle de sortie en Ruby
Créer JSON en Java
Manipulation de la date dans Java 8
Nouveautés de Java 8
Types de variables dans ruby
Utiliser PreparedStatement en Java
Popcount rapide en Ruby
Nouveautés de Java 9,10,11