N ° Sr. Méthodes et description
1

abort

Termine le programme. Si une exception est levée (c'est-à-dire que $! N'est pas nul), son message d'erreur s'affiche.

2

Array( obj)

Renvoie obj après l'avoir converti en tableau à l'aide de to_ary ou to_a.

3

at_exit {...}

Enregistre un bloc pour exécution lorsque le programme se termine. Similaire à l'instruction END, mais l'instruction END n'enregistre le bloc qu'une seule fois.

4

autoload( classname, file)

Enregistre un nom de classe de classe à charger à partir du fichier la première fois qu'il est utilisé. classname peut être une chaîne ou un symbole.

5

binding

Renvoie les liaisons de variable et de méthode actuelles. L' objet Binding renvoyé peut être passé à la méthode eval en tant que deuxième argument.

6

block_given?

Renvoie true si la méthode a été appelée avec un bloc .

sept

callcc {| c|...}

Passe un objet Continuation c au bloc et exécute le bloc. callcc peut être utilisé pour une sortie globale ou une construction de boucle.

8

caller([ n])

Renvoie la pile d'exécution actuelle dans un tableau des chaînes du formulaire file: line . Si n est spécifié, renvoie les entrées de pile à partir du nième niveau vers le bas.

9

catch( tag) {...}

Attrape une sortie non locale par un lancer appelé lors de l'exécution de son bloc.

dix

chomp([ rs = $/])

Renvoie la valeur de la variable $_ with the ending newline removed, assigning the result back to $_. La valeur de la chaîne de saut de ligne peut être spécifiée avec rs.

11

chomp!([ rs = $/])

Supprime la nouvelle ligne de $ _, modifiant la chaîne en place.

12

chop

Renvoie la valeur de $_ with its last character (one byte) removed, assigning the result back to $_.

13

chop!

Supprime le dernier caractère de $ _, modifiant la chaîne en place.

14

eval( str[, scope[, file, line]])

Exécute str en tant que code Ruby. La liaison dans laquelle effectuer l'évaluation peut être spécifiée avec une portée . Le nom de fichier et le numéro de ligne du code à compiler peuvent être spécifiés à l'aide de file et line.

15

exec( cmd[, arg...])

Remplace le processus actuel en exécutant la commande cmd . Si plusieurs arguments sont spécifiés, la commande est exécutée sans extension du shell.

16

exit([ result = 0])

Quitte le programme, avec comme résultat le code d'état renvoyé.

17

exit!([ result = 0])

Tue le programme en contournant la gestion des sorties, comme assurer , etc.

18

fail(...)

Voir augmenter (...)

19

Float( obj)

Renvoie obj après l'avoir converti en float. Les objets numériques sont convertis directement; nul est converti en 0,0; les chaînes sont converties en considérant le préfixe de base 0x, 0b. Le reste est converti en utilisant obj.to_f.

20

fork

fork {...}

Crée un processus enfant. nil est retourné dans le processus enfant et l'ID (entier) du processus enfant est retourné dans le processus parent. Si un bloc est spécifié, il est exécuté dans le processus enfant.

21

format( fmt[, arg...])

Voir sprintf.

22

gets([ rs = $/])

Lit le nom de fichier spécifié dans la ligne de commande ou une ligne à partir de l'entrée standard. La chaîne de séparation d'enregistrement peut être spécifiée explicitement avec rs.

23

global_variables

Renvoie un tableau de noms de variables globales.

24

gsub( x, y)

gsub( x) {...}

Remplace toutes les chaînes correspondant à x dans $_ with y. If a block is specified, matched strings are replaced with the result of the block. The modified result is assigned to $_.

25

gsub!( x, y)

gsub!( x) {...}

Effectue la même substitution que gsub, sauf que la chaîne est modifiée sur place.

26

Integer( obj)

Renvoie obj après l'avoir converti en entier. Les objets numériques sont convertis directement; nil est converti en 0; les chaînes sont converties en considérant le préfixe de base 0x, 0b. Le reste est converti en utilisant obj.to_i.

27

lambda {| x|...}

proc {| x|...}

lambda

proc

Convertit un bloc en un objet Proc . Si aucun bloc n'est spécifié, le bloc associé à la méthode appelante est converti.

28

load( file[, private = false])

Charge un programme Ruby à partir d'un fichier . Contrairement à require , il ne charge pas les bibliothèques d'extension. Si private est vrai , le programme est chargé dans un module anonyme, protégeant ainsi l'espace de noms du programme appelant.

29

local_variables

Renvoie un tableau de noms de variables locales.

30

loop {...}

Répète un bloc de code.

31

open( path[, mode = "r"])

open( path[, mode = "r"]) {| f|...}

Ouvre un fichier . Si un bloc est spécifié, le bloc est exécuté avec le flux ouvert passé en argument. Le fichier est fermé automatiquement à la sortie du bloc. Si le chemin commence par un tube |, la chaîne suivante est exécutée en tant que commande et le flux associé à ce processus est renvoyé.

32

p( obj)

Affiche obj en utilisant sa méthode inspect (souvent utilisée pour le débogage).

33

print([ arg...])

Imprime arg dans $ defout . Si aucun argument n'est spécifié, la valeur de $ _ est affichée.

34

printf( fmt[, arg...])

Formate arg en fonction de fmt en utilisant sprintf et affiche le résultat dans $ defout . Pour les spécifications de formatage, voir sprintf pour plus de détails.

35

proc {| x|...}

proc

Voir lamda.

36

putc( c)

Imprime un caractère dans la sortie par défaut ( $ defout ).

37

puts([ str])

Imprime la chaîne sur la sortie par défaut ( $ defout ). Si la chaîne ne se termine pas par une nouvelle ligne, une nouvelle ligne est ajoutée à la chaîne.

38

raise(...)

fail(...)

Déclenche une exception. Suppose RuntimeError si aucune classe d'exception n'est spécifiée. L'appel de rais sans argument dans une clause de sauvetage relance l'exception. Faire cela en dehors d'une clause de sauvetage déclenche une RuntimeError sans message .fail est un nom obsolète pour augmenter.

39

rand([ max = 0])

Génère un nombre pseudo-aléatoire supérieur ou égal à 0 et inférieur à max. Si max n'est pas spécifié ou est mis à 0, un nombre aléatoire est renvoyé sous la forme d'un nombre à virgule flottante supérieur ou égal à 0 et inférieur à 1. srand peut être utilisé pour initialiser un flux pseudo-aléatoire.

40

readline([ rs = $/])

Équivaut à gets sauf qu'il lève une exception EOFError lors de la lecture d'EOF.

41

readlines([ rs = $/])

Renvoie un tableau de chaînes contenant soit les noms de fichiers spécifiés comme arguments de ligne de commande, soit le contenu de l'entrée standard.

42

require( lib)

Charge la bibliothèque (y compris les bibliothèques d'extension) lib lors de son premier appel. require ne chargera pas la même bibliothèque plus d'une fois. Si aucune extension n'est spécifiée dans lib , require essaie d'y ajouter .rb, .so, etc.

43

scan( re)

scan( re) {|x|...}

Équivaut à $ _. Scan.

44

select( reads[, writes = nil[, excepts = nil[, timeout = nil]]])

Vérifie les modifications de l'état de trois types d'objets IO d'entrée, de sortie et d'exceptions qui sont transmis sous forme de tableaux d'objets IO. nil est passé pour les arguments qui n'ont pas besoin d'être vérifiés. Un tableau à trois éléments contenant des tableaux des objets IO pour lesquels il y a eu des changements d'état est renvoyé. nil est renvoyé à l'expiration du délai.

45

set_trace_func( proc)

Définit un gestionnaire pour le traçage. proc peut être une chaîne ou un objet proc . set_trace_func est utilisé par le débogueur et le profileur.

46

sleep([ sec])

Suspend l'exécution du programme pendant secondes secondes. Si sec n'est pas spécifié, le programme est suspendu pour toujours.

47

split([ sep[, max]])

Équivaut à $ _. Split.

48

sprintf( fmt[, arg...])

format( fmt[, arg...])

Renvoie une chaîne dans laquelle arg est formaté selon fmt. Les spécifications de formatage sont essentiellement les mêmes que celles de sprintf dans le langage de programmation C. Les spécificateurs de conversion (% suivi du spécificateur de champ de conversion) dans fmt sont remplacés par la chaîne formatée de l'argument correspondant. Une liste de conversion déposée est donnée ci-dessous dans la section suivante.

49

srand([ seed])

Initialise un tableau de nombres aléatoires. Si la valeur de départ n'est pas spécifiée, l'initialisation est effectuée à l'aide de l'heure et d'autres informations système de la valeur de départ.

50

String( obj)

Renvoie obj après l'avoir converti en chaîne à l'aide de obj.to_s.

51

syscall( sys[, arg...])

Appelle une fonction d'appel du système d'exploitation spécifiée par number sys . Les nombres et la signification de sys dépendent du système.

52

system( cmd[, arg...])

Exécute cmd comme un appel à la ligne de commande. Si plusieurs arguments sont spécifiés, la commande est exécutée directement sans extension du shell. Renvoie true si l'état de retour est 0 (succès).

53

sub( x, y)

sub( x) {...}

Remplace la première chaîne correspondant à x dans $ _ par y. Si un bloc est spécifié, les chaînes correspondantes sont remplacées par le résultat du bloc. Le résultat modifié est affecté à $ _.

54

sub!( x, y)

sub!( x) {...}

Effectue le même remplacement que sub, sauf que la chaîne est modifiée sur place.

55

test( test, f1[, f2])

Effectue divers tests de fichiers spécifiés par le test de caractères . Afin d'améliorer la lisibilité, vous devez utiliser les méthodes de classe File (par exemple File :: readable?) Plutôt que cette fonction. Une liste d'arguments est donnée ci-dessous dans la section suivante.

56

throw( tag[, value = nil])

Saute à la fonction catch en attente avec le symbole ou la balise de chaîne . value est la valeur de retour à utiliser par catch .

57

trace_var( var, cmd)

trace_var( var) {...}

Définit le traçage pour une variable globale. Le nom de la variable est spécifié sous forme de symbole. cmd peut être une chaîne ou un objet Proc.

58

trap( sig, cmd)

trap( sig) {...}

Définit un gestionnaire de signaux. sig peut être une chaîne (comme SIGUSR1) ou un entier. SIG peut être omis du nom du signal. Le gestionnaire de signal pour le signal EXIT ou le signal numéro 0 est appelé juste avant la fin du processus.

59

untrace_var( var[, cmd])

Supprime le suivi d'une variable globale. Si cmd est spécifié, seule cette commande est supprimée.

N ° Sr. Méthodes et description
1

n + num

n - num

n * num

n / num

Effectue des opérations arithmétiques: addition, soustraction, multiplication et division.

2

n % num

Renvoie le module de n.

3

n ** num

Exponentiation.

4

n.abs

Renvoie la valeur absolue de n.

5

n.ceil

Renvoie le plus petit entier supérieur ou égal à n.

6

n.coerce( num)

Renvoie un tableau contenant num et n tous deux éventuellement convertis en un type qui leur permet d'être exploités mutuellement. Utilisé dans la conversion automatique de type dans les opérateurs numériques.

sept

n.divmod( num)

Renvoie un tableau contenant le quotient et le module de la division de n par num.

8

n.floor

Renvoie le plus grand entier inférieur ou égal à n.

9

n.integer?

Renvoie vrai si n est un entier.

dix

n.modulo( num)

Renvoie le module obtenu en divisant n par num et en arrondissant le quotient avec le plancher

11

n.nonzero?

Renvoie n s'il n'est pas nul, sinon nul.

12

n.remainder( num)

Renvoie le reste obtenu en divisant n par numet en supprimant les décimales du quotient. leresult et n ont toujours le même signe.

13

n.round

Renvoie n arrondi à l'entier le plus proche.

14

n.truncate

Renvoie n sous la forme d'un entier sans décimales.

15

n.zero?

Renvoie zéro si n est égal à 0.

16

n & num

n | num

n ^ num

Opérations au niveau du bit: AND, OR, XOR et inversion.

17

n << num

n >> num

Décalage à gauche et décalage à droite au niveau du bit.

18

n[num]

Renvoie la valeur de numème bit du bit le moins significatif, qui est n [0].

19

n.chr

Renvoie une chaîne contenant le caractère du code de caractère n.

20

n.next

n.succ

Renvoie le prochain entier suivant n. Équivaut à n + 1.

21

n.size

Renvoie le nombre d'octets dans la représentation machine de n.

22

n.step( upto, step) {|n| ...}

Itère le bloc de n à upto, incrémentation de step chaque fois.

23

n.times {|n| ...}

Itère le bloc n fois.

24

n.to_f

Convertit nen un nombre à virgule flottante. La conversion flottante peut perdre des informations de précision.

25

n.to_int

Retour n après conversion en nombre entier.

N ° Sr. Méthodes et description
1

Float::induced_from(num)

Renvoie le résultat de la conversion de num en nombre à virgule flottante.

2

f.finite?

Renvoie vrai si f n'est pas infini et f.nan est faux.

3

f.infinite?

Renvoie 1 si f est l'infini positif, -1 si l'infini négatif ou nul si autre chose.

4

f.nan?

Renvoie true si f n'est pas un nombre à virgule flottante IEEE valide.

N ° Sr. Méthodes et description
1

atan2( x, y)

Calcule l'arc tangent.

2

cos( x)

Calcule le cosinus de x.

3

exp( x)

Calcule une fonction exponentielle (e élevée à la puissance x).

4

frexp( x)

Renvoie un tableau à deux éléments contenant la fraction nominalisée et l'exposant de x.

5

ldexp( x, exp)

Renvoie la valeur de x fois 2 à la puissance de exp.

6

log( x)

Calcule le logarithme naturel de x.

sept

log10( x)

Calcule le logarithme en base 10 de x.

8

sin( x)

Calcule le sinus de x.

9

sqrt( x)

Renvoie la racine carrée de x. x doit être positif.

dix

tan( x)

Calcule la tangente de x.

N ° Sr. Spécificateur et description
1

b

Entier binaire

2

c

Caractère unique

3

d,i

Entier décimal

4

e

Notation exponentielle (par exemple, 2.44e6)

5

E

Notation exponentielle (par exemple, 2.44E6)

6

f

Nombre à virgule flottante (par exemple, 2,44)

sept

g

utiliser% e si l'exposant est inférieur à -4,% f sinon

8

G

utiliser% E si l'exposant est inférieur à -4,% f sinon

9

o

Entier octal

dix

s

Chaîne ou tout objet converti à l'aide de to_s

11

u

Entier décimal non signé

12.

x

Entier hexadécimal (par exemple, 39ff)

13

X

Entier hexadécimal (par exemple, 39FF)

Voici l'exemple d'utilisation -

#!/usr/bin/ruby

str = sprintf("%s\n", "abc")   # => "abc\n" (simplest form)
puts str 

str = sprintf("d=%d", 42)      # => "d=42" (decimal output)
puts str 

str = sprintf("%04x", 255)     # => "00ff" (width 4, zero padded)
puts str 

str = sprintf("%8s", "hello")  # => " hello" (space padded)
puts str 

str = sprintf("%.2s", "hello") # => "he" (trimmed by precision)
puts str

Cela produira le résultat suivant -

abc
d = 42
00ff
   hello
he

Arguments de la fonction de test

Le test de fonction (test, f1 [, f2]) exécute l'un des tests de fichier suivants spécifiés par le test de caractère . Afin d'améliorer la lisibilité, vous devez utiliser les méthodes de classe File (par exemple, File :: readable?) Plutôt que cette fonction.

N ° Sr. Argument et description
1

?r

F1 est-il lisible par l'uid effectif de l'appelant?

2

?w

Est-ce que f1 est accessible en écriture par l'uid effectif de l'appelant?

3

?x

Est-ce que f1 est exécutable par l'uid effectif de l'appelant?

4

?o

F1 appartient-il à l'uid effectif de l'appelant?

5

?R

Est-ce que f1 est lisible par le vrai uid de l'appelant?

6

?W

Est-ce que f1 est accessible en écriture par le vrai uid de l'appelant?

sept

?X

Est-ce que f1 est exécutable par le vrai uid de l'appelant?

8

?O

Est-ce que f1 appartient au vrai uid de l'appelant?

9

?e

Est-ce que f1 existe?

dix

?z

Est-ce que f1 a une longueur nulle?

11

?s

Taille de fichier de f1 (nul si 0)

12

?f

Est-ce que f1 est un fichier régulier?

13

?d

Est-ce que f1 est un répertoire?

14

?l

Est-ce que f1 est un lien symbolique?

15

?p

Est-ce que f1 est un tube nommé (FIFO)?

16

?S

Est-ce que f1 est une socket?

17

?b

Est-ce que f1 est un périphérique bloc?

18

?c

Est-ce que f1 est un périphérique de caractère?

19

?u

Le bit setuid est-il défini sur f1?

20

?g

Le bit setgid est-il défini sur f1?

21

?k

Est-ce que f1 a le sticky bit réglé?

22

?M

Heure de la dernière modification pour f1.

23

?A

Heure du dernier accès pour f1.

24

?C

Heure du dernier changement d'inode pour f1.

N ° Sr. Argument et description
1

?=

Les temps de modification de f1 et f2 sont-ils égaux?

2

?>

L'heure de modification de f1 est-elle plus récente que f2?

3

?<

L'heure de modification de f1 est-elle plus ancienne que f2?

4

?-

Est-ce que f1 est un lien dur vers f2?

Voici l'exemple d'utilisation. En supposant que main.rb existe avec des autorisations de lecture, d'écriture et de non-exécution -

#!/usr/bin/ruby

puts test(?r, "main.rb" )   # => true
puts test(?w, "main.rb" )   # => true
puts test(?x, "main.rb" )   # => false

Cela produira le résultat suivant -

true
false
false