¿Hay alguna forma de obtener la línea actual en el archivo fuente en el que se encuentra, como __LINE__
en C++?Obtener la línea actual del archivo fuente en D
5
A
Respuesta
9
Sí, puede usar __LINE__
. Además, __FILE__
.
Como BCS y Jonathan M Davis señalar en los comentarios, no es un caso especial para __LINE__
y amigos: cuando se usa como el valor predeterminado de un parámetro de plantilla o función, se resuelven en la ubicación de la persona que llama, no la firma de la plantilla o función. Esto es ideal para evitar que quienes llaman tengan que proporcionar esta información.
void myAssert(T)(lazy T expression, string file = __FILE__, int line = __LINE__)
{
if (!expression)
{
// Write the caller location
writefln("Assert failure at %s:%s", file, line);
}
}
Cuestiones relacionadas
- 1. Recuperar la ruta del archivo fuente actual con fish
- 2. ¿Cómo obtener la línea actual de archivos abiertos en python?
- 3. xslt obtener la ruta actual de la carpeta del archivo
- 4. Obtener la carpeta principal del archivo actual PHP
- 5. obtener el nombre de archivo y la ruta del archivo `source`d
- 6. Obtener el nombre de la fuente del archivo .ttf
- 7. ¿Cómo obtener el número de línea actual?
- 8. Obtener el nombre del archivo actual en Vim
- 9. ¿Cómo obtener la ruta completa del archivo ejecutable actual en VB?
- 10. Obtener fuente predeterminada del sistema
- 11. ¿Cómo obtener la hora actual del GPS?
- 12. Obtener la hora actual del sistema?
- 13. Obtener la hora actual del sistema
- 14. VBA Powerpoint. ¿Cómo obtener la ruta del directorio actual del archivo a una cadena en VBA?
- 15. ¿Cómo obtener la ruta completa del directorio del archivo actual en Python?
- 16. Obtener la ruta de archivo del archivo de configuración de la aplicación actual
- 17. HTML/Javascript - Obtener texto del archivo en línea
- 18. Obtener el nombre del archivo de secuencia de comandos actual
- 19. Eclipse: ¿Obtiene la ubicación del archivo actual?
- 20. ¿Cómo puedo obtener la fuente de un archivo javascript modificado?
- 21. Descargar un archivo en D
- 22. línea de ejecución del archivo en bash
- 23. cómo obtener la ruta de aplicación actual en WPF
- 24. ¿Cómo obtener la versión actual del producto en C#?
- 25. Obtener la ubicación actual del usuario en PHP
- 26. ¿Cómo obtener la profundidad del nodo actual en JTree?
- 27. Cómo obtener la zona horaria actual del usuario en C#
- 28. ¿Qué ocurre cuando un archivo es `fuente`-d en contexto Unix/Linux?
- 29. En java -D ¿qué significa la D?
- 30. cómo obtener el archivo fuente desde el archivo apk
Perfecto, gracias. Sabía que no tenían que ir a cambiar todos los números de línea en las líneas de excepción cuando modificaron un archivo std lib :) –
FWIW: '__LINE__' no es exactamente lo mismo que en C. Hay al menos un caso de esquina donde es diferente: si se usa como valor predeterminado para un argumento, se resuelve en la línea que hace que la llamada no sea la línea donde se define la función. – BCS
que es * realmente * útil cuando se crean funciones de prueba en las que se desea que las fallas informen la línea de la llamada en lugar de dentro de la función de prueba. –