Liste et exemples de commandes Ruby de base.
La différence entre eux est la présence ou l'absence de sauts de ligne et la présence ou l'absence de représentation de type.
| Méthode | puts | p | |
|---|---|---|---|
| Utilisation | Pour la production | Pour le débogage | Des restes de python? |
| nouvelle ligne | Oui | Oui | Aucun |
| Représentation de type | Aucun | Oui | Aucun |
Différence entre put et print (présence ou absence de sauts de ligne)
puts "Bonjour"
puts 123
#Bonjour
#123
print "Bonjour"
print 123
#Bonjour 123
Différence entre put et p (présence ou absence de représentation de type)
puts "Bonjour"
puts 123
#Bonjour
#123
p "Bonjour"
p 123
#"Bonjour"
#123
TAX_RATE = 1.0
puts TAX_RATE
#Écraser l'instruction
TAX_RATE = 1.5
#warning: already initialized constant TAX_RATE
#warning: previous definition of TAX_RATE was here
p 1.1.class
#Float
p 1.1.methods
#[:-@, :**, :<=>, :<=, :>=, :==, :===, :eql?, :%, :inspect, :*, :+, :-, :/, :<, :>, :to_int, :coerce, :to_s, :divmod, :to_i, :to_f, :to_r, :fdiv, :modulo, :abs, :magnitude, :zero?, :finite?, :infinite?, :floor, :ceil, :round, :truncate, :positive?, :negative?, :numerator, :denominator, :rationalize, :arg,Omis ci-dessous...
p "abc".methods
#[:encode, :encode!, :unpack, :unpack1, :include?, :%, :*, :+, :count, :partition, :to_c, :sum, :next, :casecmp, :casecmp?, :insert, :bytesize, :match, :match?, :succ!, :<=>, :next!, :upto,Omis ci-dessous...
p 8.0 / 3
p 8/3.0
p 8/3
#2.6666666666666665
#2.6666666666666665
#2
p 8.0/7
p (8.0/7).round
p (8.0/7).ceil
p (8.0/7).floor
#1.1428571428571428
#1 round
#2 ceil
#1 floor
calc = 8/3.0
puts format("%.2f", calc)
puts sprintf("%.2f", calc)
#2.67
#2.67
ʻObject.round (nombre de chiffres) ʻObject.ceil (nombre de chiffres)
ʻObjet .floor (nombre de chiffres) `
puts calc.round(2)
puts calc.round(3)
#2.67
#2.667
puts calc.ceil(2)
puts calc.ceil(3)
#2.67
#2.667
puts calc.floor(2)
puts calc.floor(3)
#2.66
#2.666
met" # {formules et variables} "
┗ Double devis
┗ Sortie telle quelle si elle est unique
puts "tax #{1000 * 0.10}"
#tax 100.0
puts 'tax #{1000 * 0.10}'
#tax #{1000 * 0.10}
puts "Hello" + "World"
#HelloWorld
puts "Hello★" * 5
#Hello★Hello★Hello★Hello★Hello★
str = "hello world"
p str.length
#11
str = "123"
p str
p str.to_i
#"123"
#123
colors = ["red", "blue", "white"]
p colors[0]
p colors[3] #nil
p colors
#"red"
#nil
#["red", "blue", "white"]
colors = ["red", "blue", "white"]
p colors.push("green")
#["red", "blue", "white", "green"]
p colors << ("black")
#["red", "blue", "white", "green", "black"]
colors = ["red", "blue", "white", "green", "black"]
p colors.length
p colors.size
p colors.count
#5
#5
#5
colors = ["red", "blue", "white", "green", "black"]
p colors.sort
p colors.sort.reverse
#["black", "blue", "green", "red", "white"]
#["white", "red", "green", "blue", "black"]
numbers = [5, 8, 1, 4, 9]
p numbers.sort
p numbers.sort.reverse
#[1, 4, 5, 8, 9]
#[9, 8, 5, 4, 1]
** Créer **
Variable = {clé: valeur, clé: valeur ,,,}
appel
Variable [: nom de la clé]
scores = {tanaka:100, sato:80, ito:50}
p scores
p scores[:sato]
#{:tanaka=>100, :sato=>80, :ito=>50}
#80
Tout de même ci-dessous
score1 = {"tanaka" => 100, "sato"=>80, "ito"=>50 }
score2 = {:tanaka =>100, :sato=>80, :ito=>50}
score3 = {tanaka:100, sato:80, ito:50}
p score1
p score2
p score3
#{:tanaka=>100, :sato=>80, :ito=>50}
#{:tanaka=>100, :sato=>80, :ito=>50}
#{:tanaka=>100, :sato=>80, :ito=>50}
scores = {tanaka:100, sato:80, ito:50}
scores[:suzuki] = 40
p scores
#{:tanaka=>100, :sato=>80, :ito=>50, :suzuki=>40}
scores = {tanaka:100, sato:80, ito:50, suzuki:40}
scores.delete(:suzuki)
p scores
#{:tanaka=>100, :sato=>80, :ito=>50}
if
Branchez le processus avec ** expression conditionnelle **.
if, elsif, else, end
python
stock = 5 #Stock
if i >= 10
puts 'Stock: ◎'
elsif i > 3
puts 'Stock: △'
elsif i == 1
puts 'Stock: 1 dernier'
else
puts 'Stock: ×'
end
#Stock: △
Structure de la syntaxe de cas
#case Variable que vous souhaitez évaluer
#quand nombre
#En traitement
#quand plage (valeur de départ)..le dernier prix)
#En traitement
#quand plage (valeur de départ)..le dernier prix)
#En traitement
# else
#En traitement
# end
python
age = 6
case age
when 0..5
puts 800
when 6..11
puts 1800
else
puts 2500
end
#1800
・ Prix de départ .. Prix de clôture
┗ Gamme du prix de départ au prix de clôture
Tableau
x = ["A", 1, "b", 3]
for i in x
puts i
end
#A
#1
#b
#3
Nombres consécutifs
for i in 0..3
puts i
end
#0
#1
#2
#3
python
arrays = ["A", 1, "b", 3]
arrays.each do |array|
puts array
end
#A
#1
#b
#3
python
i = 0
while i < 3
puts i
i += 1
# i++Ne peut pas être utilisé
end
#0
#1
#2
python
3.times do |i|
puts "#{i}C'est le deuxième processus"
end
#C'est le 0ème processus
#C'est le premier processus
#C'est le deuxième processus
i = 0
loop{
puts i
i += 1
if i >=3
break
end
}
#0
#1
#2
#3
python
3.times do |i|
if i == 1
next
end
puts "#{i}C'est le deuxième processus"
end
#C'est le 0ème processus
#C'est le deuxième processus
▼ Création
def method name () processing end
┗ () est inutile lorsqu'il n'y a pas d'argument.
▼ Appeler
Nom de la méthode ()
python
def hello(name)
puts "Hello #{name}M."
end
hello("Yuta")
#Bonjour Yuta
Arguments multiples
def ttl_price(price, n)
return (price * n * 1.10).floor #le retour est facultatif
end
puts ttl_price(500, 3)
#1650
classe nom de classe fin
Créer une classe
class User
def initialize(name)
@name = name
end
def say_name
puts "je#{@name}est."
end
end
Variable = nom de classe.new (argument)
Génération d'instance
tanaka = User.new("tanaka")
tanaka.say_name
#Je suis tanaka
yamada = User.new("yamada")
yamada.say_name
#Je suis yamada
Recommended Posts