Note:
Testo rimosso dalla rev 6 e
Testo aggiunto nella rev7
Le Ruby Facets sono una collezione di librerie che estendono e integrano quelle già esistenti.
Installazione
gem install facets
Esempi
Esempio di Units, modulo per la gestione del Sistema internazionale di unità di misura:
1.bit/s + 8.bytes/s #=> 65.0 bit/s
(1.bit/s).to(byte/s) #=> 0.125 byte/s
1.lb.to(kg) #=> 0.45359237 kg
1.m.s.to(m.s) #=> 1 m s
10.m/10.s #=> 1 m/s
10.meter/10.second #=> 1 meter/second
1.mile.to(km) #=> 1.609344 km
1.usd.to(twd) #=> 33.275000380 twd
1.cwt(:uk).to(lb(:uk)) #=> 112.0 lb
1.cwt(:us).to(lb(:us)) #=> 100.0 lb
with_unit_converter(:uk) {
1.cwt.to(lb) #=> 112.0 lb
}
with_unit_converter(:us) {
1.cwt.to(lb) #=> 100.0 lb
}
Esempio del modulo Enumerable:
[1,2,3].every + 3 #=> [4,5,6] ['a','b','c'].every.upcase #=> ['A','B','C'] %w[a b c].each_permutation { |x| puts(x.join('')) } #=> abc #=> acb #=> bac #=> bca #=> cab #=> cba numbers = (1..3) squares = numbers.graph { |n| [n, n*n] } #=> { =>1, 2=>4, 3=>9 } sq_roots = numbers.graph { |n| [n*n, n] } #=> { =>1, 4=>2, 9=>3 } [1,1,2,3,3,4,5,5].occur(1) #=> [2,4] [1,1,2,3,3,4,5,5].occur(2) #=> [1,3,5] [1,1,2,3,3,4,5,5].occur(3) #=> [] [1,2,2,3,3,3].occur(1..1) #=> [1] [1,2,2,3,3,3].occur(2..3) #=> [2,3] [1,1,2,3,3,4,5,5].occur { |n| n == 1 } #=> [2,4] [1,1,2,3,3,4,5,5].occur { |n| n > 1 } #=> [1,3,5] [1,2,3].sum #=> 6 [3,3,3].sum #=> 9Esempio del modulo String:
String::Random.rand_letter #=> "q" String::Random.rand_letter #=> "r" String::Random.rand_letter #=> "a" "this_is a test".camelcase #=> "thisIsATest" "this_is a test".camelcase(true) #=> "ThisIsATest" "this_is a test".camelcase(true, ' ') #=> "This_isATest" "abcabcabc".index_all('a') #=> [0,3,6] "boy".plural #=> boys "tomato".plural #=> tomatoes "boys".singular #=> boy "tomatoes".singular #=> tomato "Alexsander".fuzzy_match( "Aleksander" ) #=> 0.9