标签: squeak

从Squeak或Pharo调用shell命令

如何从Squeak和Pharo调用shell命令?这些环境中是否包含某些unix语言中的system()函数以运行外部shell命令,或者反引号(不能让它们在这里对编辑器执行操作,但是当你按下左键时会得到的内容) 1"及以上"TAB")捕获命令的输出?

smalltalk squeak pharo

9
推荐指数
2
解决办法
1806
查看次数

Smalltalk - 比较两个字符串是否相等

我试图比较Smalltalk中的两个字符串,但我似乎做错了什么.

我一直收到这个错误:

未处理的异常:非布尔接收器.继续求真.

stringOne := 'hello'.
stringTwo := 'hello'.
myNumber := 10.

[stringOne = stringTwo ] ifTrue:[
   myNumber := 20].
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

string smalltalk visualworks squeak

9
推荐指数
2
解决办法
7566
查看次数

在Squeak/Pharo中浏览VisualWorks代码

在Squeak/Pharo中是否有任何Smalltalk解析器允许我在Squeak/Pharo中浏览VisualWorks代码?我有兴趣阅读以块格式(而不是XML格式)导出的代码.

澄清:我不需要提交代码.

谢谢

smalltalk visualworks squeak pharo

9
推荐指数
1
解决办法
532
查看次数

面向对象的实现策略

我目前正在Squeak环境中学习Smalltalk,而我正在阅读"Squeak - 快速前往ObjectLand".我使用Python和Java的一些先验知识进入面向对象的范例,第36页的书中的这句话让我想到:

Smalltalk是面向对象语言的基于类的实现.

短句但非常有趣.在OO中,类,对象,实例等所有术语似乎都是明确定义的,并且似乎指向唯一的真实含义,并且您可能会遇到类似"对象是类的实例"的通用句子.
但是你很少听到实施策略.什么是实现面向对象的概念,在这种情况下,是什么意思?除了类之外是否还有OO语言的实现?

oop implementation smalltalk squeak object

9
推荐指数
2
解决办法
269
查看次数

Smalltalk数组类型

在查看Smalltalk语法定义时,我注意到了一些不同的数组符号:

#[] "ByteArray"
#() "Literal Array"
{}  "Array"
Run Code Online (Sandbox Code Playgroud)
  • 为什么有不同的数组类型?在其他编程语言中,我知道只有一种独立于存储类型的数组.
  • 何时选择哪种?
  • 为什么文字数组和数组有不同的符号但是同一个类?

arrays smalltalk squeak

9
推荐指数
2
解决办法
5060
查看次数

学习Smalltalk又名吱吱声的路线

召集Smalltalk宇宙的绝地大师,

我对C++/Python/Perl有所了解,并且已经编写了5年多的编程.

我必须分叉Scratch - MIT的可视化编程语言来增加对机器人工具包的支持.Scratch是使用Squeak创建的,Squeak是Smalltalk的一个实现.

我打算阅读A Little Smalltalk - 由Timothy budd跟随Sqeak By Examples - 作者:Oscar Nierstrasz [http://squeakbyexample.org/]

你认为这是个好主意吗?你会建议什么?我可以看免费视频教程吗?

最终目标是能够理解临时代码库.在我能够理解(截至目前)奇怪的Squeak开发环境及其方式之前,我想先了解一下smalltalk.

卢克小行者

smalltalk squeak mit-scratch

8
推荐指数
1
解决办法
569
查看次数

在Squeak Smalltalk中撤消删除方法

如何在Squeak Smalltalk中撤消删除方法?

smalltalk squeak

8
推荐指数
1
解决办法
408
查看次数

Glamour和Nautilus的问题

在Smalltalk中,系统浏览器是几乎任何东西的核心工具.Glamour似乎是使用声明性脚本语言构建通用浏览器的软件包.从论文中可以看到VisualWorks和Pharo,但我在这里只讨论Pharo版本.

除了Glamour相对于旧方法的技术优势之外,对于OmniBrowser的支持似乎在2011/2012年停止.所以从2009年开始的Glamour可能是OmniBrowser的合理继承者.但是有一个令人惊讶的惊喜:另一个"浏览器项目"被创建,它被称为Nautilus.

可能是因为开发人员注意到作为浏览器实现框架和类浏览器很难维护,OmniBrowser在Glamour中被"拆分"用于浏览器框架和Nautilus for Smalltalk Class Browsing.引自Nautilus chpater:"它的目的是浏览RPackage,与RB重构引擎兼容,具有环境意识并与公告合作"

  • 这种印象对吗?
  • Glamour还在积极开发吗?
  • Glamour和Nautilus有重叠的目的吗?

smalltalk visualworks squeak pharo

8
推荐指数
2
解决办法
304
查看次数

为什么添加:返回Smalltalk集合中添加的对象?

背景

捕获每个Smalltalk新手的东西是add:不会返回"自我"但是添加的对象.

例如,使用此代码:

myCollection := OrderedCollection new 
  add: 'Peter';
  add: 'John';
  add: 'Paul'.
Run Code Online (Sandbox Code Playgroud)

myCollection将包含字符串"保罗",而不是集合本身.

这是因为add:返回正在添加的对象,整个级联表达式的计算结果是最后发送的消息.

相反,它应该写yourself在最后:

myCollection := OrderedCollection new 
  add: 'Peter';
  add: 'John';
  add: 'Paul';
  yourself.
Run Code Online (Sandbox Code Playgroud)

问题

  • 为什么会这样?
  • 这样设计的是什么?
  • add:这种行为有什么好处?

oop smalltalk visualworks squeak pharo

8
推荐指数
2
解决办法
375
查看次数

在Pharo Smalltalk中向后迭代一个集合

我是Pharo的新手,我正在尝试迭代OrderedCollection,但是从最后开始.

例如:

| c |
c := OrderedCollection new.
c add: (1).
c add: (2).
c add: (3).
c do: [ :each | Transcript show: each ; cr ]
Run Code Online (Sandbox Code Playgroud)

结果却是1 2 3我想要的3 2 1.

是否有可能或者我必须使用其他类型的收藏?

smalltalk squeak pharo

8
推荐指数
1
解决办法
500
查看次数