
Consulta ruby pequeño DSL
Publicado por Felipe (1 intervención) el 05/09/2016 01:56:48
Hola que tal, estoy trabado en algo, quiero poder hacer esto:
{7/0}.deberia explotar_con Excepcion
Tengo hecho esto:
en un initialzie
Hago que todos los objectos entiendan el mensaje deberia. Ahora nose si este mensaje lo entenderian los bloques asi sueltos, heredan de Object estos?
Despues tengo:
y al ejecutar esto en el contexto correspondiente: {7 / 0}.deberia explotar_con ZeroDivisionError
me da este error debido al bloque:
syntax error, unexpected '}', expecting => (SyntaxError)
Lo cual no entiendo porque no me deja escribir eso asi, en lo posible no me gustaria hacer esto con el missing_method ya que lo uso para otras cosas, y l veo poco probable por mas que quiera ya que tendria que cambiar muchas cosas creo.
Saludos
{7/0}.deberia explotar_con Excepcion
Tengo hecho esto:
en un initialzie
1
2
3
4
5
6
7
Object.send(:define_method,:deberia) do
|args| if(args.is_a? Array)
puts self.instance_exec(args[1], &args[0])
else
puts self == args
end
end
Hago que todos los objectos entiendan el mensaje deberia. Ahora nose si este mensaje lo entenderian los bloques asi sueltos, heredan de Object estos?
Despues tengo:
1
2
3
4
5
6
7
8
def explotar_con excepcion
return [Proc.new do begin
Proc.new do self end.call
false
rescue excepcion
true
end end]
end
y al ejecutar esto en el contexto correspondiente: {7 / 0}.deberia explotar_con ZeroDivisionError
me da este error debido al bloque:
syntax error, unexpected '}', expecting => (SyntaxError)
Lo cual no entiendo porque no me deja escribir eso asi, en lo posible no me gustaria hacer esto con el missing_method ya que lo uso para otras cosas, y l veo poco probable por mas que quiera ya que tendria que cambiar muchas cosas creo.
Saludos
Valora esta pregunta


0