2010-06-20 18 views

Respuesta

5

Aquí hay una lista de idiomas con etiquetas similares a Java; es decir, la posibilidad de derivar en de una instrucción o bloque etiquetados.

  • Java
  • Javascript
  • C# - C# soporta goto <label>, pero no break <label> o continue <label>.
  • Ada - utilizando la instrucción exit <label>.
  • PL/SQL - usando las declaraciones exit <label> o continue <label>.

Aquí hay una lista de idiomas con una construcción más general GO TO (o equivalente), lo que permite que una aplicación se ramifique a cualquier etiqueta en el mismo nivel sintáctico o nivel externo.

  • Pascal
  • FORTRAN - FORTRAN también tiene un "goto calculado" en el que se selecciona la etiqueta de destino en tiempo de ejecución, y un "goto asignado", que es una forma de código mutante.
  • COBOL
  • C
  • C++

Muchas lenguas (también) que lanza el apoyo y la captura de excepciones. Esto puede considerarse como una forma generalizada de ramificación a etiqueta. Sin embargo, hay dos diferencias importantes:

  • El "punto de tiro" no especifica la ubicación que va a capturar la excepción (es decir, una etiqueta).
  • El flujo de control puede ramificarse de la llamada actual de procedimiento/función/método.

(Ruby's throw/catch parece tener aspectos de la manipulación normal excepción y etiquetada declaraciones. Sin embargo, me inclino a pensar que puesto que la etiqueta no tiene que estar en el ámbito léxico, esta es la más cercana a la manipulación normal excepción.)

por favor agregue más.

+0

con C# (por lo menos), que no es lo mismo. El ejemplo de Java en la pregunta le permite especificar una etiqueta * con * la ruptura o continuar (por ejemplo: 'break foo;'). C# no es compatible con eso. –

+0

C# admite goto {label}, pero no rompe {label} ni continúa {label}. – Naveen

+0

Sería más rápido hacer una lista de idiomas que no proporcionan goto ni roturas etiquetadas. Python para uno http://www.python.org/dev/peps/pep-3136/ – Gunslinger47

0
  • C (y Objective-C en el hotel que es un superconjunto directa de c).
  • ensamblador x86 de Intel
  • Python
Cuestiones relacionadas