Author Topic: problème dofile/require : le package.path a changé  (Read 2451 times)

0 Members and 1 Guest are viewing this topic.

Dr. Goulu

  • Soldier
  • **
  • Posts: 51
    • Dr. Goulu
problème dofile/require : le package.path a changé
« on: February 29, 2008, 11:30:54 AM »
est-ce que quelque chose a changé récemment dans la gestion du path, parce que d'anciens codes ou j'utilisais

Code: [Select]
dofile("fichier.lua") ne fonctionnent plus. Je dois faire
Code: [Select]
dofile(HYP_GetBaseDir().."/fichier.lua")
Pour info, voici le code que j'appelle par dofile, ce qui me permet ensuite d'utiliser le "require" du LUA pour charger les modules de ma librairie perso :

Code: [Select]
function appendifnotthere(s1,s2,sep)
if string.find(s1,s2) then return s1 end
sep=sep or ";" -- default separator is for path
return s1..sep..s2
end

package.path=appendifnotthere(package.path,"C:\\Users\\Philippe\\Documents\\LUA\\?.lua")
3Dmon

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2343
    • oZone3D.Net
Re: problème dofile/require : le package.path a changé
« Reply #1 on: March 03, 2008, 04:55:33 PM »
Le pb du dofile sans préciser le chemin absolu du fichier est qu'il est dépendant du répertoire actif courant (souvent c'est le répertoire de demoniak3d). En utilisant HYP_GetBaseDir() tu forces le chemin absolu et le chargement dans ce cas est toutjours bon. Il est donc préférable de toujours utiliser HYP_GetBaseDir(). Mais pour en revenir à ta question, je ne pense pas avoir touché à la gestion des répertoires.