Quel est le sens de% i ou% I en ruby?
J'ai cherché google
"%i or %I" ruby
mais n'a rien trouvé de pertinent pour ruby.
Quel est le sens de% i ou% I en ruby?
J'ai cherché google
"%i or %I" ruby
mais n'a rien trouvé de pertinent pour ruby.
%i[ ] # Non-interpolated Array of symbols, separated by whitespace
%I[ ] # Interpolated Array of symbols, separated by whitespace
Le deuxième lien de mes résultats de recherche http://ruby.zigzo.com/2014/08/21/rubys-notation/
Exemples dans la CISR:
%i[ test ]
# => [:test]
str = "other"
%I[ test_#{str} ]
# => [:test_other]
Il peut être difficile de trouver l'officiel de la documentation de Ruby (c'est ici). Au moment de la rédaction de la version actuelle est 2.5.1, et la documentation pour l' %je de construire est trouvé dans la documentation de Ruby littéraux.
Il y a quelques surprenant (pour moi du moins!) variantes de Ruby % de construire. Il y a souvent utilisé %i %q %r %s %w %x
formes, chacune avec une version en majuscules afin de permettre l'interpolation. (voir le Ruby littéraux docs pour les explications.
Mais vous pouvez utiliser de nombreux types de séparateurs, pas seulement []
. Vous pouvez utiliser n'importe quel type de support () {} [] <>
, et vous pouvez utiliser (citant le rubis docs) "la plupart des autres caractères non alphanumériques pour cent pour les délimiteurs de chaînes telles que "%", "|", "^", etc."
Donc, %i% bish bash bosh %
fonctionne de la même comme %i[bish bash bosh]
C'est comme %w
et %W
qui fonctionnent de manière similaire à '
et "
:
x = :test
# %w won't interpolate #{...} style strings, leaving as literal
%w[ #{x} x ]
# => ["\#{x}", "x"]
# %w will interpolate #{...} style strings, converting to string
%W[ #{x} x ]
# => [ "test", "x"]
Maintenant la même chose avec %i
et %I
:
# %i won't interpolate #{...} style strings, leaving as literal, symbolized
%i[ #{x} x ]
# => [:"\#{x}", :x ]
# %w will interpolate #{...} style strings, converting to symbols
%I[ #{x} x ]
# => [ :test, :x ]
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.