Comentarios de varias líneas en Ruby?

¿Cómo puedo comentar varias líneas en Ruby?

 #!/usr/bin/env ruby =begin Every body mentioned this way to have multiline comments. The =begin and =end must be at the beginning of the line or it will be a syntax error. =end puts "Hello world!" <<-DOC Also, you could create a docstring. which... DOC puts "Hello world!" "..is kinda ugly and creates a String instance, but I know one guy with a Smalltalk background, who does this." puts "Hello world!" ## # most # people # do # this __END__ But all forgot there is another option. Only at the end of a file, of course. 
 =begin My multiline comment here =end 

A pesar de la existencia de =begin y =end , la forma normal y más correcta de comentar es usar # en cada línea. Si lees el origen de cualquier biblioteca de ruby, verás que esta es la forma en que se realizan los comentarios de varias líneas en casi todos los casos.

 #!/usr/bin/env ruby =begin Between =begin and =end, any number of lines may be written. All of these lines are ignored by the Ruby interpreter. =end puts "Hello world!" 

Usando cualquiera de los siguientes:

 = comenzar
 Esta
 es
 un
 comentario
 bloquear
 = fin

o

 # Esta
 # es
 # un
 # comentario
 # bloque

son los únicos dos actualmente compatibles con rdoc, que es una buena razón para usar solo estos, creo.

 =begin (some code here) =end 

y

 # This code # on multiple lines # is commented out 

ambos son correctos. La ventaja del primer tipo de comentario es la capacidad de edición, es más fácil descomentar porque se eliminan menos caracteres. La ventaja del segundo tipo de comentario es la legibilidad: leyendo el código línea por línea, es mucho más fácil decir que una línea en particular ha sido comentada. Su llamada, pero piense en quién viene detrás de usted y qué tan fácil es para ellos leer y mantener.

Aquí hay un ejemplo :

 =begin print "Give me a number:" number = gets.chomp.to_f total = number * 10 puts "The total value is : #{total}" =end 

Todo lo que coloque entre =begin y =end se tratará como un comentario independientemente de la cantidad de líneas de código que contenga.

Nota: asegúrese de que no haya espacio entre = y begin :

  • Correcto: =begin
  • Incorrecto: = begin

En caso de que alguien esté buscando una forma de comentar varias líneas en una plantilla html en Ruby on Rails, podría haber un problema con = begin = end, por ejemplo:

 <% =begin %> ... multiple HTML lines to comment out <%= image_tag("image.jpg") %> <% =end %> 

fallará debido al%> que cierra el image_tag.

En este caso, tal vez sea discutible si se está comentando o no, pero prefiero adjuntar la sección no deseada con un bloque “si es falso”:

 <% if false %> ... multiple HTML lines to comment out <%= image_tag("image.jpg") %> <% end %> 

Esto funcionará

=begin comment line 1 comment line 2 =end asegúrese de = comenzar y = fin es lo primero en esa línea (sin espacios)