2013-04-02 17 views
9

Pharo 2.0 zmienił kilka podstawowych bitów API, i nie mogę znaleźć nową drogę w następujący sposób:Przenoszenie kodu do Pharo 2,0

  1. FileDirectory default directoryNamed: aFolderString.
  2. FileDirectory on: aFilename.
  3. FileDirectory default assureExistenceOfPath: aString.
  4. ReferenceStream on: stream.

Jaki byłby nowy równoważny kod? Czy dostępny jest podręcznik aktualizacji opisujący tłumaczenie lub kod portu?

Odpowiedz

9

zebrałem niektóre tłumaczenia może okazać się przydatne:

+------------------------------------------------------+---------------------------------------------------------------------------+ 
|     FileDirectory      |        FileSystem         | 
+------------------------------------------------------+---------------------------------------------------------------------------+ 
| FileDirectory assureExistence.      | aString asFileReference ensureDirectory.         | 
| FileDirectory baseNameFor: aString.     | aString asFileReference base.            | 
| FileDirectory containingDirectory.     | Path parent asFileReference pathString.         | 
| FileDirectory default deleteFileNamed: aString.  | aString asFileReference ensureDeleted.         | 
| FileDirectory default directoryExists: aString.  | aString asFileReference exists.           | 
| FileDirectory default directoryNamed: aFolderString. | FileSystem disk/aFolderString.           | 
| FileDirectory directoryEntryFor: aString.   | aString asFilereference.             | 
| (FileDirectory entryFor: aString)/'filename'.  | aString asFileReference/'filename'.          | 
| FileDirectory extensionFor: aString.     | aString asFileReference extension.          | 
| FileDirectory default fileExists: aString.   | aString asFileReference exists. " or " DiskStore current isFile: aString. | 
| FileDirectory default fullNameFor: aString.   | aString asFileReference fullName.               | 
| FileDirectory default pathName.      | FileSystem disk workingDirectory fullName.        | 
| FileDirectory on: aFilename.       | aFilename asFileReference.            | 
| (FileDirectory on: aString) entries collect: #name. | aString asFileReference children collect: #basename.      | 
| (FileDirectory on: aString) entryAt: 'filename'.  | aString asFileReference/'filename'.          | 
| FileDirectory oldFileNamed: aString.     | aString asFileReference readStream.          | 
| FileDirectory slash.         | FileSystem disk separator. " or " DiskStore delimiter asString.   | 
+------------------------------------------------------+---------------------------------------------------------------------------+ 
13

Poniższe stwierdzenia odpowiadają tym, które umieścisz w swoim pytaniu.

  1. FileSystem workingDirectory/aFolderString
  2. aFilename asFileReference
  3. aString asFileReference ensureDirectory
  4. ReferenceStream już nie istnieje w 2.0.

aPathString asFileReference postanawia aPathString, więc jeśli w twoim imieniu są slash, to skończysz w podkatalogu.

/ z drugiej strony przyjmuje jeden katalog lub nazwę pliku jako argument i nie rozdziela dalszych podkatalogów. W zależności od platformy można łatwo odnieść się do pliku o nazwie foo/bar z ukośnikiem w nazwie z FileSystem workingDirectory/'foo/bar'.

5

Element ReferenceStream nie jest już obsługiwany i został usunięty w Pharo 2.0. Powinieneś używać paliwa, które jest dobrze napisane, dobrze udokumentowane, dobrze przetestowane i bardzo szybkie. http://rmod.lille.inria.fr/web/pier/software/Fuel

+0

Nie znaczy troll was ale odpowiedź nie jest odpowiedź na pytanie (jest to stosowne, jako komentarz do kwestii choć) –

+0

Poza tym, jeśli używasz Fuel do zmaterializowania ReferenceStream, otrzymasz wyjątek FLBadSignature – user869097