在任何Smalltalk风格中,是否有任何示例显示如何解析RDF文件?我见过的唯一的包是Rikaiko与RDFXMLReader类,但没有引用,它似乎很undocummented.
目前,我正在使用基于Smalltalk的应用程序服务器,使用Visual Works.我正在寻找一种从代码生成UML类图的方法.我已经查找了许多工具,但似乎没有任何工作或有用.
在Smalltalk(特别是Pharo/Squeak)中,我想知道是否可以省略"["和"]"作为消息的参数,如:ifAbsent:如果你不需要一个块,就像这样;
^ bookTitles at: bookID ifAbsent: ''.
Run Code Online (Sandbox Code Playgroud)
和
^ books at: bookID ifAbsent: nil.
Run Code Online (Sandbox Code Playgroud)
代码有效,因为(在Pharo/Squeak中)对象>>值只返回self.但我想知道这种用法是如何接受的,或者你是否应该总是键入[和],即使你不关心参数是否被快速评估或多次评估.
鉴于任何Smalltalk风格,我应该如何检查是否支持Unicode?如果没有支持,我如何检测缺少哪个级别(VM,字体,转换器等)?
我很难过.这是我的测试用例.
theTestArray := #(1.2 3 5.1 7).
self assert: theTestArray squareOfAllElements = #(1.44 9 26.01 49).
Run Code Online (Sandbox Code Playgroud)
断言不应该失败.在计算每个元素的平方是正确的.所以我做了"步入测试",表明方法squareOfAllElements和#(1.44 9 26.01 49)的结果都是相同的但是assert的计算结果为false.为什么?我在这做错了什么?任何帮助表示赞赏.
我试图在smalltalk(visualworks)中读取和处理csv文件的内容,但我似乎很难将字符串拆分成数组.以下是我能够开始工作的代码.我缺少的是将myLine变量的内容(一个以逗号分隔的字符串)拆分为字符串数组的片段,以添加到TwoDList中.请帮助您提供有关如何处理此问题的任何信息.谢谢
SpreadsheetReadCSV: inFilename
|inStream myLine rcnt|
rcnt := 0.
" scan thru the text lines, using a traditional i/o loop "
inStream := (inFilename asFilename) readStream .
[ inStream atEnd ] whileFalse: [
rcnt := rcnt + 1.
myLine := inStream upTo: Character cr.
"Process the commadelimited string here"
].
inStream inspect.
inStream close.
^myLine.
Run Code Online (Sandbox Code Playgroud) 如何将图片加载到smalltalk 中?我找到了几个如何在图像成为类资源后显示图像的示例,但找不到将图片导入我的smalltalk环境的方法。(我使用图片一词以避免与smalltalk图像混淆)
例如,假设我正在添加一组我创建的对象myClass(称为包含字符串)myList,然后我希望使用该列表并将其传递给GUI列表.有没有办法只使用该字符串的值填充该GUI列表myClass?
我只是想知道是否有办法在Pharo或Squeak中使用多个屏幕.我只是从VisualWorks切换到Pharo,我真的错过了这个功能.我习惯将我的工作区/成绩单放在另一个和我的浏览器上.
谢谢,亨里克
似乎Smalltalk实现错过了一个算法,该算法返回String中子字符串的所有索引.最相似的只返回一个元素的索引,例如:firstIndexesOf:in:,findSubstring:,findAnySubstring:variants.
Ruby中有实现,但第一个依赖于Ruby hack,第二个不能忽略重叠的字符串,最后一个使用Enumerator类,我不知道如何转换为Smalltalk.我想知道这个Python实现是否是最好的开始路径,因为考虑两种情况,重叠或不重叠,并且不使用正则表达式.
我的目标是找到一个提供以下行为的包或方法:
'ABDCDEFBDAC' indicesOf: 'BD'. "#(2 8)"
Run Code Online (Sandbox Code Playgroud)
考虑重叠时:
'nnnn' indicesOf: 'nn' overlapping: true. "#(0 2)"
Run Code Online (Sandbox Code Playgroud)
不考虑重叠时:
'nnnn' indicesOf 'nn' overlapping: false. "#(0 1 2)"
Run Code Online (Sandbox Code Playgroud)
在Pharo中,当在Playground中选择文本时,扫描程序会检测子字符串并突出显示匹配项.但是我找不到这个的String实现.
到目前为止,我的最大努力导致了String(Pharo 6)中的这种实现:
indicesOfSubstring: subString
| indices i |
indices := OrderedCollection new: self size.
i := 0.
[ (i := self findString: subString startingAt: i + 1) > 0 ] whileTrue: [
indices addLast: i ].
^ indices
Run Code Online (Sandbox Code Playgroud)