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