Încărcarea claselor se face:
2
Un comentariu „shebang” (#!/bin/ruby) poate apărea doar pe prima linie.
1
Alege varianta corectă:
În Ruby, literalii float se pot scrie cu caractere underscore („_”) intercalate, de exemplu 1_000_000.01
Ruby este un limbaj:
Se pot defini Array-uri imbricate?
Alegeți variantele de cod care fac ceea ce trebuie:
total = x
+ y
animals = Array.new
.push("dog")
.push("cat")
total = x +
y
x = 3 + 5; y = x + 10; z = y - 10
x = y + z \
+ t
1345
Într-un Array, prima valoare are indexul 0.
Expresiile de mai jos sunt toate echivalente?
"\u{AB2}"
"\u0AB2"
"\u{0AB2}"
"\u{0A B2}"
Într-un Array se poate scrie o virgulă la final?
Implicit, interpretorul Ruby (v > 2.0) consideră că fișierul sursă este encodat UTF-8.
Operatorul „&”, în cazul a două masive, realizează:
3
Codul de mai jos afișează:
a = 0; "#{a=a+1} " * 3
Ca și în cazul șirurilor, dacă a = [3, 4, 5], atunci a[3, 0]:
Un număr float poate fi oricât de mare?
În Ruby, în cazul unei operațiuni string[<plajă indecși>] = "<text>"
14
Encodarea cunoscută ca și BINARY este:
Mai multe fișiere sursă aparținând aceluiași program pot avea encodări diferite?
Token-urile (jetoanele) cuprind:
12345
Dacă două numere sunt întregi, atunci rezultatul operației de împărțire este tot întreg, obținut prin trunchiere.
Ruby suportă nativ următoarele encodări:
O metodă singleton este o metodă ce aparține direct unui obiect (de obicei modul).
Ca și în cazul șirurilor de caractere, se poate folosi multiplicarea pentru a obține un alt masiv ([2, 3] * 10).
Dacă s = "abcd", alegeți expresiile acceptate:
s[s.length] = ?X
s[-1] = ?X
s[4] = ?X
s[0] = ?X
s[3] = ?X
125
Ca și șirurile, un masiv poate fi indexat:
12
1...4
Este valid următorul cod?
a, b, c = [3, 5, 7]
În documentația comentată:
1256
În Ruby, toate cele 8 tipuri numerice definesc operatorii +, -, * și /.
În exprimarea numerelor float, se pot folosi bazele de numerație:
În Ruby, există riscul ca rezultatul operațiilor cu numere Float să poată depăși domeniul maxim („overflow”)?
Propoziția case folosește operatorul:
Alegeți variantele corecte pentru a defini un caracter Unicode într-un string încadrat între ghilimele duble:
"\uAB0C"
"\u1023"
"\u{AB}"
"\u23"
"\u{AB0C}"
1234
Împărțirea unui Float sau a unui număr întreg la 0.0 întoarce:
BEGIN se referă:
Comentariul ce indică encodarea fișierului:
123
Codul următor face corect interpolarea?
$formula_salut = 'salutare'
"#$formula_salut lume"
Dacă se încearcă accesarea unui element printr-un index inexistent în Array, atunci:
În expresiile condiționale (precum if și while), care din expresiile de mai jos evaluează ca „true”?
Alegeți operatorii matematici existenți în Ruby:
34
Alegeți variantele corecte:
Dându-se un string „s”, alegeți variantele acceptate:
s[-1] += "ab"
s[-1] = "ab"
s[-1] = ""
s[-1] = nil
134
Un scurt program Ruby poate fi lansat cu o comandă de tipul: ruby ‑e "puts 3+4" ?
Alegeți diferența corectă între Ruby 1.8 și Ruby 1.9:
String.encode modifică efectiv caracterele stringului?
Biblioteca claselor din nucleul Ruby:
Dacă se asignează un element înainte de limita de început a unui Array, atunci:
O metodă definită în afara oricărei clase devine:
Dacă unul din operanzii unei împărțiri este Float, rezultatul este tot Float, chiar dacă este întreg.
String.encode, dacă noua encodare nu poate reprezenta un anumit caracter:
În Ruby, restul împărțirii (modulo) se obține:
Cu ajutorul unui document încorporat (embedded document) se poate:
Encodarea externă:
234
Numărul 0.1 se poate reprezenta exact în Float?
Spre deosebire de stringuri, în cazul unui Array, dacă se asignează un element peste limita de sfârșit, atunci:
Câte rânduri are următorul string?
"Această carte
are 30 de pagini\
cu tot cu coperți"
Unitatea de bază în sintaxa Ruby este expresia.
Obiectele tip Symbol se compară:
În Ruby, la finalul unui string:
4
Clasele și modulele sunt:
Literalii pot fi:
Interpolarea în stringuri se poate face și în cazul literalilor încadrați între ghilimele simple.
Programele Ruby pot cuprinde documentație comentată API pentru metode, clase și module. Alegeți variantele corecte:
1245
Alegeți variantele corecte pentru definirea unui string de 1 caracter:
?€
??
?A
?\u20AC
?"
?""
O constantă poate fi modificată?
„require” caută respectivele module pe o cale de căutare, și împiedică încărcarea unui modul de mai multe ori.
Alegeți definirea corectă de masive:
deschise = %w| ( [ { < |
%w[acesta este un test]
whitespace = %W(\s \t \r \n)
%w[ 234 234 234]
"\2"
"\02"
"\002"
Literalii string încadrați de ghilimele duble au mai multe secvențe escape disponibile decât cei încadrați între ghilimele simple.
Interpretorul Ruby interpretează un program ca o secvență de jetoane (token-uri).
Alegeți definițiile corecte de stringuri:
%q{cuvinte}, %q[cuvinte], %q(cuvinte), %q<cuvinte>
%q-aasdfasdf-
%q|cuvinte|
%qacuvintea
%q!cuvinte\!multe!
%q cuvinte
În compararea stringurilor se aplică:
a, b = 3, 5
Dacă s = "abcdefghi", atunci expresia de mai jos:
s[/[aeiou]/] = '*'
Alegeți sintaxa corectă pentru a rula o comandă „backtick”:
listing = `#{listcmd}`
`ls`
%X[ls]
%x[ls]
listing = Kernel.`("ls")
În Ruby, ca în majoritatea celorlalte limbaje, există riscul de „overflow” (depășirea limitelor) la operațiile aritmetice cu numere întregi.
Un comentariu „coding” poate apărea doar pe prima linie (sau pe a doua, dacă prima este un „shebang”).
În Ruby, obiectele BigDecimal memorează numerele:
Pentru repetare, în Ruby se poate folosi:
[1, 2].each do
1.upto(9) do
3.times
repeat .. until
while .. end
Care tipuri numerice fac parte din biblioteca standard (nu din nucleul Ruby)?
678
Alegeți varianta corectă:
do...end
{...}
Un identificator poate conține:
Împărțirea unui întreg la 0 întoarce:
În identificatorii Ruby, literele mari și mici sunt tratate identic.
Expresia
Array.new(10)
Stringurile introduse manual într-un terminal „cmd” în Windows au encodarea:
Expresiile regulare sunt un tip fundamental de date, precum numerele, textele și masivele?
În Ruby, întorc valoare:
În Ruby, semnul restului de la operația „modulo” este:
'a'..'x' este un Range corect?
Elementele dintr-un Array trebuie să fie din aceeași clasă.
Se dă variabila tip string „x”. Următoarele două linii de cod sunt echivalente?
puts x << " abc"
puts x + " abc"
În Ruby, 0.4 - 0.3 == 0.1 întoarce:
În Ruby, un comentariu poate fi intercalat în mijlocul unei linii de cod.
String.force_encoding modifică efectiv caracterele stringului?
Encodarea unui literal String este întotdeauna aceea a fișierului sursă în care este definit.
În Ruby, true este:
În cazul unei reuniuni sau a unei intersecții de masive:
În cazul cărei encodări există Byte Order Mark (care este opțional)?
Obiectele tip Hash pot avea ca și cheie:
Elementele dintr-un Array sunt mutabile.
Din interpretorul irb se poate lansa un alt interpretor irb?
Limbajul Ruby:
156
Împărțirea unui Float la 0 întoarce:
Blocurile de cod pe mai multe linii se numesc „corpuri” (corpul metodei, corpul clasei). Ele sunt:
După executarea codului de mai jos:
a = [3, 4, 5]
a = a + 9
[3, 4, 5]
[3, 4, 5, [9]]
Operatorul „|”, în cazul a două masive, realizează:
Alegeți secvențele de escape ce pot apărea într-un literal string încadrat între ghilimele simple (apostroafe):
Dacă rezultatul unei operații cu obiecte Bignum se poate reprezenta printr-un Fixnum, atunci respectivul rezultat este Fixnum.
Prin convenție, constantele multi-cuvânt se notează:
Metodele se definesc prin cuvântul cheie:
Dacă a = [1, 2, 3, 4, 5], atunci a[-1]:
Cu ajutorul operatorului [] se poate:
Alegeți literalii scriși corect în alte baze de numerație:
13456
În Ruby, operatorul = poate fi suprascris?
Expresiile se grupează în propoziții.
Care din următoarele variante definește corect un string folosind mai multe linii de cod, string care are o SINGURĂ linie?
'Acest literal string \
este corect'
'Acest literal string'\
'este corect.'
%(O paranteza ( se folosește la deschidere.)
%((1+(2*3)) = #{(1+(2*3))})
%'Un apostrof \' se folosește la deschidere.'
%<<book><title>Titlu carte</title></book>>
124
Identificatorii sunt nume de variabile, metode sau clase.
Expresia 5[0]:
În Ruby, operația „modulo” se poate face și cu numere Float?
După execuția codului de mai jos:
a1 = [3,4]
a2 = Array.new(a1)
Corpul propozițiilor END (și alte „cârlige” definite cu metoda „at_exit”) se execută:
Alegeți diferențele între „p” și „puts”:
13
În Ruby, comportamentul operației „modulo” din C și Java poate fi obținut cu următoarea metodă:
Dacă s = "hello world", atunci s[0, -1]:
"hello world"
nil
"h"
În Ruby, codul dintre { și } se numește:
Expresia:
'abc''def'
este validă?
Expresia de mai jos întoarce:
"\x0A" == "\xA"
true
false
Doi operatori de ridicare la putere consecutivi (3**4**5) sunt evaluați:
Cuvântul rezervat „__END__”:
=begin
=end
23
Operatorul de ridicare la putere este:
În documentația comentată pentru rdoc:
= titlu
== subtitlu
În Ruby, exponentul folosit în cadrul literalilor float se folosește în evaluarea numărului prin înmulțire cu 10 la puterea exponent.
În Ruby 1.9:
345
Ultimul caracter al unei metode poate fi:
Dacă a și b sunt două masive oarecare, atunci a | b este egal întotdeauna cu b | a ?
Pentru cazul când este nevoie de formatare a valorilor interpolate, în Ruby se poate folosi:
printf("pi este aproximativ %.4f", Math::PI)
sprintf("pi este aproximativ %.4f", Math::PI)
"pi este aproximativ %.4f" % Math::PI
"%s: %f" % ["pi", Math::PI]
Obiectele tip String sunt mutabile?
['a', 'b', 'c', 'b', 'a'] - ['b', 'c', 'd', 'e']
Un string se poate defini prin String.new ?
În Ruby, literalii float se pot scrie cu exponent folosind „e” sau „E”.
Împărțirea (0.0)/(0.0) întoarce:
Cel mai mare cod Unicode este:
"\u{ffff}"
"\u{ffffff}"
"\u{10ffff}"
Cu unealta „ri” se poate căuta documentație despre:
Cuvântul cheie „__ENCODING__” întoarce:
Codul de mai jos afișează la fiecare iterație același lucru?
5.times { puts 859.object_id }
Interpretorul Ruby caută întâi metoda main() pentru a porni execuția programului?
Gramatica limbajului Ruby este:
Clasa „Encoding” are o interfață API bogată.
Regulile lexicale din Ruby, cuvintele cheie, punctuația și operatorii sunt definiți folosind caractere din setul:
În Ruby, parantezele sunt:
În Ruby există o clasă pentru reprezentarea caracterelor separate.
În „shebang” se pot include parametri pentru interpretorul ruby (de exemplu -w).
În Ruby există encodarea US-ASCII (7-bit ASCII).
Dacă s = "abcdefghi", atunci expresia de mai jos întoarce:
s["def"]
"def"
Ruby asigură un set puternic de operatori pentru string-uri, cuprinzând:
În Ruby, comentariile pe mai multe linii se scriu cu /* .. */.
Dacă într-un literal String avem o secvență "\u", atunci encodarea sa va fi:
Pentru ca o metodă să întoarcă mai multe rezultate, codul de mai jos este corect?
def inversare(a, b)
[b, a]
end
x, y = inversare(a, b)
Unitățile parametrizate se numesc în Ruby:
În Ruby, literalii întregi se pot scrie cu caractere underscore („_”) intercalate, de exemplu 1_000_000.
În Ruby 1.9, în cazul stringurilor, pentru optimizare este preferat operatorul „[]” față de metoda „each_char”.
Alegeți varianta corectă pentru concatenarea a două stringuri:
"partea 1 " + 2
"partea 1 " "2"
"partea 1 " + "2"
"partea 1 " + "partea 2"
Dacă s = "hello world", atunci s[2, 4] întoarce:
"ello"
"llo "
"ell"
Există identificatori care pot începe cu o cifră.
Alegeți propozițiile corecte:
Ce valoare întoarce expresia:
'a\b' == 'a\\b'
În Ruby, sunt obiecte:
Înlocuirea unei expresii în cadrul unui string se numește:
5.times { puts "aaa".object_id }
Array.new(10, 0)
Stringurile adiacente se concatenează automat, chiar și dacă au spații între ele?
Metodele Array.size și Array.length sunt echivalente.
Dacă în expresia string[n], n este în afara domeniului:
Caracterul # poate fi folosit:
Interpolarea este o metodă preferată față de concatenarea stringurilor?
În Ruby, literalii float se pot scrie omițând partea întreagă, dacă este 0 (de exemplu: .134).
Toate limbajele care folosesc reprezentarea în virgulă mobilă conform IEEE-754 (C, Java, JavaScript) nu pot reprezenta numărul 0.1.
Dacă a = [1, 2, 3, 4, 5], atunci după evaluarea expresiei a[-6] = 0:
s[2,3] == s[2..3]
Dacă a = ('a'..'e').to_a, alegeți propozițiile corecte sintactic:
a[0, 2] = ['A', 'B']
a[-2, 2] = nil
a[0, 0] = [1, 2, 3]
a[-1, 1] = 'Z'
a[-1, 1] = ['Z']
a[0..2] = []
a[2...5] = ['C', 'D', 'E']
1234567
Alegeți sintaxele corecte pentru un document încorporat (embedded document):
=begin aici începe comentariul
text comentat
=end aici se termină comentariul
=BEGIN aici începe comentariul
=END aici se termină comentariul
begin
# =begin aici începe comentariul
# =begin aici se termină comentariul
Un program Ruby se încheie dacă:
Alegeți sintaxele corecte pentru definirea unui „here document”:
document = <<HERE # inceput de definire
Textul propriu-zis
HERE
document = <<HERE
HERE # final de definire
document = <<alabala
alabala
document = <<345
document = <<-HERE
12346
În Ruby, exponentul folosit în cadrul literalilor float poate fi doar număr întreg, pozitiv sau negativ.
Se dă codul:
f(3+2)+1
f (3+2)+1
f((3+2)+1)
145
Regulile pentru %w sunt aceleași ca și pentru %q, iar cele pentru %W sunt aceleași ca pentru %Q.
În Ruby, obiectele numerice sunt mutabile?
Ruby cunoaște diferența între literele mici și mari: