2013-04-02 70 views
9

Pharo 2.0改變了一些基本的API位,我無法找到做以下的新途徑:代碼移植到菲羅2.0

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

什麼是新的等效代碼? 是否有更新指南可用於描述如何翻譯或移植代碼?

回答

9

我收集了一些翻譯可能對您有用:

+------------------------------------------------------+---------------------------------------------------------------------------+ 
|     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

以下聲明對應於您在問題中提出的聲明。

  1. FileSystem workingDirectory/aFolderString
  2. aFilename asFileReference
  3. aString asFileReference ensureDirectory
  4. ReferenceStream並在2.0不再存在。

aPathString asFileReference解決aPathString,因此,如果有您的姓名斜線,你會在一個子目錄中結束。

/另一方面將單個目錄或文件名作爲參數,並且不會解析更多子目錄。根據您的平臺,您可以使用名稱爲FileSystem workingDirectory/'foo/bar'的斜槓輕鬆地引用名爲foo/bar的文件。

5

ReferenceStream不再支持,並已在Pharo 2.0中刪除。你應該使用燃料,這是寫得很好,有據可查,經過充分測試和非常快。 http://rmod.lille.inria.fr/web/pier/software/Fuel

+0

我並不想嚇嚇你,但你的回答不回答這個問題(這是適當的,以儘管問題評論)除了如果 –

+0

你使用Fuel來實現一個ReferenceStream,你會得到一個FLBadSignature異常 – user869097