我已经在Smalltalk中编程了一段时间,但我从来没有真正需要接口来实现任何东西.那为什么Java等语言不能摆脱接口?它只是Smalltalk还是其他语言不需要接口?
我无法理解Pharo和Squeak中的大代码库,是否有一个典型的模板脚本来生成静态类关系图(不一定是UML)和Pharo或Squeak中的动态对象关系图,而无需安装所有的Moose套房?有人知道如何只安装特定的包进行渲染?
我很难理解GemStone for Smalltalk的大图.我知道GLASS是一个使用Linux,Seaside和Apache的应用服务器.但我想知道它是否适用于非海边应用程序.
我也很难找到一些基本问题:
我不清楚GLASS或GemStone/S是否独立于所使用的VM.例如,如果我使用支持黑线程的VM,这是否意味着GemStone/S将透明地工作?
对于我所看到的,它对3D应用程序没有用.例如,如果我在Pharo或VisualWorks中开发的应用程序使用OpenGL,我可以考虑使用GemStone/S进行扩展吗?
我已经读过你可能在VisualWorks中有对象和GemStone/S中的对象,但这让我很困惑.我怎么知道我刚刚创建的对象是已经持久存在还是在"客户端"端?在哪种情况下我需要GemBuilder?
我对Python,Perl和Ruby等语言的经验很少,但我从一段时间以来就开发过Smalltalk.有一些非常基本的Smalltalk类非常流行并且跨Smalltalk实现:
FileStream
ReadWriteStream
Set
Dictionary
OrderedCollection
SortedCollection
Bag
Interval
Array
Run Code Online (Sandbox Code Playgroud)
在Python,Perl和Ruby中哪些类是等效或有效的语义替换?我找到了几个比较语法的语言比较页面,但是在核心库和基础库的翻译方面似乎没有什么帮助.
我也想知道在Smalltalk中是否存在Python,Perl或Ruby中的基类或核心类,反之亦然?
鉴于任何Smalltalk风格,我应该如何检查是否支持Unicode?如果没有支持,我如何检测缺少哪个级别(VM,字体,转换器等)?
我经常阅读Smalltalk中的"图像生成"过程.这个过程似乎是指从Smalltalk内部创建一个从头开始的图像.
但是还有一个"剥离"过程,似乎涉及删除对象以部署运行时.
两者有什么区别?有没有支持图像生成的Smalltalk?
我想收集Smalltalk代码的开放和可访问的源代码存储库列表.我知道有一个主要的SqueakSource和其他自定义SqueakSource,Monticello是访问这些存储库的正确工具,VisualWorks似乎有一个主"存储"来访问存储库.
您可以列出哪些其他Smalltalk代码存储库?什么是在GNU Smalltalk,Smalltalk/X,VA等中访问的正确工具?
我听说在Smalltalk/X和其他可能的方法中你可以在方法中包含C代码,这可能与其他Smalltalk实现一样吗?哪个?
什么是好的(交叉Smalltalk,mantained,文档)web框架或包(用较少的东西学习/适应)用于实现一个真正少量形式的静态网站?.ie:搜索框和联系表单.我没有"模型"或应用程序,所以我不是在搜索CMS或Web应用程序功能.
在任何Web框架中都开发了静态网站的任何示例或简单脚本?我对计数器或'Hello World'的例子不感兴趣.我在Seaside看到的例子看起来太复杂了,太多的嵌套块带有"程序化HTML",而我从AIDA看到的那些块需要一个模型对象,无法想象如何在没有模型的情况下工作.
可能这很容易.我有一个矩阵:
testM <- matrix(1:40, ncol = 4, byrow = FALSE)
testM
[,1] [,2] [,3] [,4]
[1,] 1 11 21 31
[2,] 2 12 22 32
[3,] 3 13 23 33
[4,] 4 14 24 34
[5,] 5 15 25 35
[6,] 6 16 26 36
[7,] 7 17 27 37
[8,] 8 18 28 38
[9,] 9 19 29 39
[10,] 10 20 30 40
Run Code Online (Sandbox Code Playgroud)
我希望逐行"减少"矩阵求和列.预期结果:
[,1] [,2]
[1,] 12 52
[2,] 14 54
[3,] 16 56
[4,] 18 58 …Run Code Online (Sandbox Code Playgroud) 鉴于任何字符串,如'Lorem ipsum dolor sit amet,consectetuer adipiscing elit',我想在坐下之前丢弃每个单词.我已经检查过String中的方法但是找不到这个方法非常有用.这是我的尝试:
| phrase newPhrase |
phrase := 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit'.
newPhrase := phrase substrings.
phrase substrings do: [: word | word = 'sit' ifFalse: [ newPhrase := newPhrase allButFirst ] ifTrue: [ ^ nil ] ].
newPhrase joinUsing: String space
Run Code Online (Sandbox Code Playgroud)
在工作区中进行评估时,它会回答为零,但是必须有一个聪明的方法吗?
我正在尝试找到树(非二进制)的开源实现,如红黑,B树,2-3树或通用树,理想情况下用于Squeak/Pharo,但其他Smalltalk风格的任何其他实现将是没关系.我见过SqueakSource但是有太多的二叉树包,其中大部分似乎属于学生项目.你知道树的实现吗?
我有一个双列矩阵,我想生成一个新的矩阵/ data.frame,其中如果最大则Col N为1,否则为0(它们永远不相等).这是我的尝试:
testM <- matrix(c(1,2,3, 1,1,5), ncol = 2, byrow = T)
>testM
V1 V2
1 1 2
2 3 1
3 1 5
apply(data.frame(testM), 1, function(row) ifelse(max(row[1],row[2]),1,0))
Run Code Online (Sandbox Code Playgroud)
我希望有:
0 1
1 0
0 1
Run Code Online (Sandbox Code Playgroud)
因为max()函数中的0,1参数,但我得到了
[1] 1 1 1
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?