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