Hace poco read sobre sentencias etiquetadas en Java y la capacidad de especificar una etiqueta con las sentencias break y continue. ¿Qué otros lenguajes soportan este tipo de sintaxis?¿Qué lenguajes de programación admiten etiquetas con break y continue statments?
Respuesta
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 nobreak <label>
ocontinue <label>
. - Ada - utilizando la instrucción
exit <label>
. - PL/SQL - usando las declaraciones
exit <label>
ocontinue <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.
¿Desea una lista exhaustiva? ¿Cómo vas a otorgar la respuesta? ¿A quien enumera más?
Básico, Pascal, Perl, todos los ensambladores, I woudl imaigine (¿obtengo un punto por cada nombre ,?
Es posible que desee leer
http://en.wikipedia.org/wiki/Goto
Es posible que desee leer el cuerpo del pregunta. –
- C (y Objective-C en el hotel que es un superconjunto directa de c).
- ensamblador x86 de Intel
- Python
- 1. ¿Qué lenguajes de programación admiten métodos constantes?
- 2. JSTL continue, break inside foreach
- 3. Otros lenguajes de programación que admiten implicits "a la Scala"
- 4. objetivo C for-loop break and continue
- 5. Lenguajes de programación compatibles con literales XML
- 6. ¿Por qué los lenguajes perezosos no admiten la mutación?
- 7. Java Coding standard/mejores prácticas: convención de nomenclatura para etiquetas break/continue
- 8. Lenguajes de script que admiten fibras/coroutines?
- 9. ¿Lenguajes de programación verdaderamente multilingües?
- 10. Automóvil Lenguajes de programación
- 11. ¿Qué lenguajes de programación tienen compiladores JIT?
- 12. Convergencia de Matemáticas y Lenguajes de Programación
- 13. ¿Por qué hay tantos lenguajes de programación?
- 14. gVim y lenguajes de programación múltiples
- 15. Lenguajes de programación SIMD
- 16. jerarquía chomsky y lenguajes de programación
- 17. Covarianza y contravarianza en lenguajes de programación
- 18. lenguajes de programación no determinista
- 19. Endianness en lenguajes de programación
- 20. ¿Por qué 'Can not break/continue 1 level' viene en PHP?
- 21. ¿Por qué este break break break no funciona?
- 22. sqlite3 preparación, vinculante y reseteo statments
- 23. ¿Qué lenguajes de programación son compatibles con el intercambio de códigos y/o el espacio aislado?
- 24. ¿Qué bibliotecas se han trasladado a diferentes lenguajes de programación?
- 25. ¿Qué lenguajes de programación pueden generar ventanas independientes?
- 26. ¿Qué significa "poderoso" cuando se habla de lenguajes de programación?
- 27. ¿Qué lenguajes de programación tienen los intérpretes implementados más fácilmente?
- 28. ¿Para qué lenguajes de programación reales es fácil escribir intérpretes?
- 29. ¿Qué lenguajes de programación funcionales tienen bibliotecas de bioinformática?
- 30. ¿Qué lenguajes de programación pueden soportar las pruebas de mutación?
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. –
C# admite goto {label}, pero no rompe {label} ni continúa {label}. – Naveen
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