Je sais que Rails a de bonnes aides pour la gestion de la date et du temps. Existe-t-il un projet déjà en cours consistant en, ou incorporant un DSL propre pour les unités standard et leurs conversions? Tout projet avec des assistants pour la conversion entre les unités de base de longueur et de poids des deux systèmes fonctionnerait. Je vous remercie!Bibliothèques pour convertir des unités physiques (kilogrammes, livres) en Ruby?
Répondre
Wow, il y a un peu plus de ceux-ci que prévu. Voici ce que je crois être une liste complète, dans l'ordre alphabétique, avec l'exemple d'utilisation dépouillé de leur documentation. J'ai également noté si je ne pouvais pas les faire courir localement.
-
require 'alchemist' Alchemist.setup 8.miles.to.meters 10.kilometers + 1.mile # 11.609344 kilometers
-
Celui-ci apparaît sur la date, le dernier commit était il y a 5 ans, et il ne semble pas fonctionner sur 1.9.3 pour moi .
include Measurement::Length Inch.new(12).to_centimeters # => #<Measurement::Length::Centimeter:0x173c2b4 @units=30.48>
-
require "phys/units" Q = Phys::Quantity U = Phys::Unit Q[1.23,'km'] + Q[4.56,'m'] #=> Phys::Quantity[1.23456,'km'] Q[123,'mile']/Q[2,'hr'] #=> Phys::Quantity[61,'mile/hr'] Q[61,'miles/hr'].want('m/s') #=> Phys::Quantity[27.26944,'m/s'] Q[1.0,'are'] == Q[10,'m']**2 #=> true
-
Notez que celui-ci déclare qu'il n'est pas prêt pour la production dans le README.
require 'quantity/all' 1.meter #=> 1 meter 1.meter.to_feet #=> 3.28083... foot c = 299792458.meters/1.second #=> 299792458 meter/second newton = 1.meter * 1.kilogram/1.second**2 #=> 1 meter*kilogram/second^2 newton.to_feet #=> 3.28083989501312 foot*kilogram/second^2 newton.convert(:feet) #=> 3.28083989501312 foot*kilogram/second^2 jerk_newton = newton/1.second #=> 1 meter*kilogram/second^3 jerk_newton * 1.second == newton #=> true
-
require 'ruby-measurement' measurement = Measurement.parse('3 feet') # => 3.0 ft. measurement.convert_to(:yards) # => 1.0 yd. measurement.convert_to(:in) # => 36.0 in. measurement.convert_to(:inches) # => 36.0 in. measurement1 = Measurement.parse('3 feet') # => 3.0 ft. measurement2 = Measurement.parse('6 inch') # => 6.0 in. measurement1 + measurement2 # => 3.5 ft.
-
require 'ruby-units' unit = Unit("mm") # unit only (defaults to a scalar of 1) unit = Unit("1 mm") # create a simple unit unit = Unit("1 kg*m^2/s^2") # complex unit unit1 =~ unit2 # true if units are compatible unit1.compatible?(unit2) # true if units are compatible unit1 = unit >> "ft" # convert to 'feet' unit3 = unit1 + unit2 # resulting object will have the units of unit1 unit1 === unit2 # true if units and quantity are the same, even if 'equivalent' by <=> unit.convert_to('ft') # convert (unit1 + unit2).convert_to('ft') # converts result to 'ft'
-
require 'units' three_meters = 3.meters two_meters = 2.m one_inch = 1.inch 3.meters.to_inches # => 118.1103 inch 10.inches.to_mm # => 254.0 millimeter
-
require 'unitwise/ext' 1.yard == (1.foot * 3) # => true 1.quart < 1.liter # => true 2.meter + 3.inch - 1.yard # => <Unitwise::Measurement 1.1618 meter> 1.convert_to('kg.m2/s2') == 1.joule # => true (20.kg * 9.8.convert_to('m/s2')).to_pound_force # => <Unitwise::Measurement 44.06255284754326 pound_force> (300.horsepower * 60.second).to_calorie # => <Unitwise::Measurement 3208077.8414151203 calorie>
-
Comme une autre affiche, j'ai eu du mal à obtenir ce travail. Toutefois, vous pouvez voir Jörg W Mittag's answer pour l'utilisation.
Comme l'auteur de Unitwise, il pourrait être évident que c'est mon préféré hors du groupe. Je vous encourage à vérifier au moins, cependant.
Essayez génial Alchemist.
......
Jetez un oeil à Tom Sawyer Van/Unit
Ceci est la page d'accueil:
require 'van/units'
include Units
1.mile.to(feet)
1.acre.to(yd**2)
1.acre.to(sq_yd)
1.gallon.to(self.L)
1.lb.to(kg)
1.m.s.to(m.s)
1.sq_mi.to(km**2)
1.mile.to(km)
1.usd.to(twd)
1.bit/s + 8.bytes/s
Magnifique.C'est exactement ce que j'espérais secrètement.Merci! +1 et accepté –
Je ne pouvais pas obtenir Van/unités de travailler - tous il rend compte est:
/Library/Ruby/Gems/1.8/gems/vanunits-1.5.0/lib/van/units/base.rb:493:in `à ': unités incompatibles pour le fonctionnement (TypeError) de unitstest.rb: 4
Lors de l'exécution
require 'rubygems'
require 'van/units'
include Van::Units puts
1.meter.to(feet)
J'ai passé une heure de tenter de pirater, sans succès, la source de van/unités.
Le petit bijou ancien sur lequel il est basé a fonctionné de la boîte:
vanunits semble cassé. je suggère d'essayer
rubyunits (http://ruby-units.rubyforge.org/ruby-units/)
ou
mesures (https://github.com/collectiveidea/measurement)
Essayez gem install sy
require 'sy'
(5.g * # a bullet of 5g
500.m.s(-1) ** 2/# flying at a speed of 500m/s has kJ energy:
2).in(:kJ) #=> 0.625
require 'sy/imperial'
1.mile.in :ft #=> 5280.0
1.acre.in :yd² #=> 4840.0
1.gallon.in :l #=> 4.54609
1.lb.in :kg #=> 0.45359237
1.mile².in :km² #=> 2.589988110336
SY::SPEED_OF_LIGHT.in "furlong.fortnight⁻¹" #=> 1802617499785.2544
Dans [sy] (https://github.com/boris -s/sy), je souligne l'exactitude du modèle économique et la facilité d'utilisation par rapport à la facilité d'implémentation La seule autre bibliothèque d'unités physiques hormis _sy_, dont j'aime vraiment le modèle d'objet, est [phys-units] (https: // github. com/masa16/phys-units) de [l'auteur de la célèbre narray gem] (https://github.com/masa16) –
+ 1/acceptant cela car il semble significativement plus moderne/maintenu que les suggestions précédentes. –
- 1. Bibliothèques de compression pour Ruby?
- 2. Bibliothèques de sons pour ruby
- 3. Utilisation d'une table de mode org dans emacs pour convertir des unités en utilisant calc
- 4. nommer des quantités physiques en python
- 5. convertir php en ruby
- 6. Ruby: convertir la liste des jpeg en fichier flv
- 7. Disques physiques et volumes physiques mappés en mémoire
- 8. Pointeurs, livres et documentation sur l'écriture de bibliothèques correctes
- 9. Livres pour Ruby On Rails avec plateforme Facebook!
- 10. Bibliothèques pour convertir xml en JSON et vice versa
- 11. Bibliothèques graphiques Ruby
- 12. Obtenir des unités logiques
- 13. Y at-il des bibliothèques pour générer des fichiers swf flash ou convertir svg en swf
- 14. Unités en HTML pour iPhone/iPad
- 15. Ruby Debugging Open Source Bibliothèques
- 16. Ruby: convertir proc en lambda?
- 17. Convertir une collection en Ruby
- 18. Bibliothèques d'injection de dépendance Ruby
- 19. Conversion entre différentes unités de mesure en SQL (en Access)
- 20. RegEx dans Ruby pour convertir CSV en TSV
- 21. Convertir SVG en PNG en Ruby
- 22. Convertir du HTML en Textile en Ruby?
- 23. Méthode optimale de stockage des unités de quantité pour les articles en stock
- 24. Convertir YAML en XML dans Ruby?
- 25. Unités de logique de conversion de mesures en C#
- 26. Comment convertir une chaîne Ruby avec des parenthèses en tableau?
- 27. Trouver des unités avec des catégories zéro
- 28. Bibliothèques pour aider à implémenter une CLI dans Ruby?
- 29. Confusion d'intégrer des bibliothèques dans Ruby on Rails
- 30. Quels sont vos livres Ruby on Rails préférés et pourquoi?
Merci et +1, semble extrêmement agréable. –
Github est 404-ing. :( –
Essayez http://github.com/halogenandtoast/alchemist – Psynix