将代码移植到Pharo 2.0

use*_*928 9 smalltalk stream pharo

Pharo 2.0更改了一些基本的API位,我找不到执行以下操作的新方法:

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

什么是新的等效代码?是否有可用于描述如何翻译或移植代码的更新指南?

cam*_*uni 13

以下陈述与您在问题中提出的陈述相对应.

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

aPathString asFileReference解析aPathString,所以如果你的名字中有斜杠,你将最终进入一个子目录.

/另一方面,将单个目录或文件名作为参数,并且不解析其他子目录.根据您的平台,您可以轻松地引用名称中foo/bar带有斜杠的文件FileSystem workingDirectory / 'foo/bar'.


Her*_*nán 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.           |
+------------------------------------------------------+---------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)


Dam*_*sou 5

不再支持ReferenceStream,并已在Pharo 2.0中删除.您应该使用写得很好,记录良好,经过良好测试且速度非常快的燃料.http://rmod.lille.inria.fr/web/pier/software/Fuel