Vamos criar algumas postagens nesse sentido para notarmos e aprendermos sobre diferentes formas que cada linguagem de programação usa para fazer a mesma coisa.
Para isso precisamos obter o diretório do usuário dinamicamente para que diversos usuários possam testar somente copiando e colando o código e rodando independente do local que estiver.
Em Lua vamos importar o lfs para tornar mais fácil essa verificação. Eis o código:
nvim dir-exists.lua
Em C++ vamos utilizar a biblioteca filesystem e compilar com C++17, apesar de que ele já é padrão em todos os sistemas que estão atualizados.
nvim dir-exists.cpp
No C do mesmo jeito que usamos FILE * file para manipularmos arquivos, existe o DIR * dir
para diretórios, mas precisamos incluir a biblioteca dirent.h
.
Outra coisa é que o tipo bool
não é nativo do C, logo, precisamos também incluir stdbool.h
e também:
stdlib.h
- Que é a cstdlib
usada pelo C++ .string.h
- Para usarmos o strcat
sem warning para concatenarmos string sem precisar alocar memória com malloc
.Observação: Na função do tipo
bool
tive que fazerif .. else
porque precisamos fechar o diretório:closedir()
então só retornar não iria ser tão óbvio.
nvim dir-exists.c
Compile:
gcc dir-exists.c && ./a.out
Em Python talvez seja a forma mais fácil, só perde para o BASH .
nvim dir-exists.py
python dir-exists.py
Simples, né?! E por falar em simplicidade, só por curiosidade em Shell Script é assim:
nvim dir-exists.sh
Moleza, né?!
Se inscrevam no newsletter, vamos ter mais artigos nesse sentido de “comparativo” que ficam mais fácil de ir pegando “as manha”.
Falou!!!
langs linguagemc cpp lua python