问题标签 [gnu-smalltalk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
object - 为什么这个类/实例变量没有被初始化?
我正在尝试使用 gnu-smalltalk。在以下带有变量的简单类的代码中,我发现它没有被初始化为给定值:
该对象被创建而没有任何错误。但是,输出是:
虽然我预计它会是 555。
如果我添加一个方法来为其赋值并在创建类的实例后调用它,它就可以工作。
问题出在哪里,如何纠正?谢谢。
string - Why file path string is not splitting
I want to find files in a directory, then split the pathname and print each part of path on a separate line:
However it is giving following error:
The error message is really long and complex!
Both findTokens
and splitOn
are not working.
Where is the problem and how can this be solved.
file - 为什么这里没有读取文件的第一行
我正在尝试以下代码来读取和打印目录中所有扩展名为 .st 的文件的第一行:
但是,它不起作用并给出以下错误:
哪里有问题?谢谢你的帮助。
编辑:@tucan 的回答中的以下代码不起作用:
错误是:
行。解决:FileStream open: (ff name)
工作。
file - 如何知道文件是否是二进制文件
我知道我可以获取目录中所有文件的列表并用代码打印它们的名称:
我可以用它isDirectory
来确定文件是否是目录。
如何确定文件是二进制文件而不是文本文件。
isBinary
这里提到但它不起作用:
错误是:
如何确定文件是否为二进制文件?
string - 为什么这个块没有修剪字符串
我正在尝试以下块从发送的字符串中修剪前导空格:
它可以正常工作,但不会从发送的字符串中删除前导空格。返回值与发送的字符串相同。
显然,第一个字符ch
没有被选中。at:
也不能代替byteAt:
.
问题出在哪里,如何解决?谢谢。
class - 修剪字符串的类和方法甚至没有开始
我正在尝试创建一个具有字符串修剪功能的类:
但是,它没有运行并给出以下错误:
问题出在哪里,如何解决?
如果我删除.
after trimleading 方法块,如下面的代码:
然后代码开始运行,但因以下错误而停止:
为什么trimleading
方法现在是未定义的,为什么是 gnu-smalltalk did not understand #trim:
?
string - 我可以用我的方法扩展内置的 String 类吗
我发现没有内置trim (strip)
方法可以从内置String
类中的字符串中删除前导空格和尾随空格。我想用我的功能扩展它。可能吗?在这里使用示例,我尝试了以下代码:
上面的代码不起作用并给出以下错误:
问题出在哪里,如何纠正?谢谢。
编辑:以下代码有效,但不会更改原始字符串:
怎么可能oristr trim
改变oristr
?我不想写oristr := oristr trim
。
collections - 为什么在 Smalltalk 中向自身添加集合会爆炸?
我想知道为什么这没有在 GNU Smalltalk 中终止:
s := Set new. s add: s
理论上,s
应该只是一个包含空集的集合。但是执行它只会永远循环,炸毁堆。
有趣的是,
((s := Set with: 4 with: 5 with: 6) add: s) size.
终止并评估为 4。