我从2004年发现了一篇(可能已过时且不正确)的博客文章,声称无法从命令行运行Smalltalk脚本.从那时起有什么变化,是否可以从命令行运行Smalltalk脚本?我已经做了很多谷歌搜索,我根本没有找到关于这个主题的信息.
有没有办法将Smalltalk脚本(例如这个)保存为文件,然后从命令行运行脚本?
Transcript show: 'This should be printed to the standard output.' printString; cr.
Run Code Online (Sandbox Code Playgroud) 是否有一个OCaml等价于Haskell的模式匹配任意数量的参数?例如,我可以有类似的东西:
merge [] lst = lst
merge lst [] = lst
merge l1 @ (n : ns) l2 @ (m : ms) =
if n < m then n : merge ns l2 else m : merge l1 ms
Run Code Online (Sandbox Code Playgroud)
(这个例子来自使用Objective Caml开发应用程序:)
谢谢.
你怎么在吱吱声中多次撤消?我正在使用coglinux-VM,Squeak-Image 4.5和Squeak源版本41.
我在工作区窗口中编写了一些测试代码,想要撤消更多步骤,但Squeak不会这样做.
我正在尝试写相当于:
$( "#draggable" ).draggable({ axis: "y" });
在Amber smalltalk.
我的猜测是:'#draggable' asJQuery draggable: {'axis' -> 'y'}但不是这样.
当谈到Squeak Smalltalk时,我有点新手,所以我可能做错了什么或者对Squeak应该如何工作做出错误的假设.不过,我想知道我哪里出错了......
我试图让类Blower派生自Array.Blower基本上是一个Array,但带有一个名为index的附加实例变量和一些方法.我认为初始化方法会在我创建一个新对象时自动运行,并且它会初始化数组和索引变量,但这似乎不会发生.如果我稍后"手动"初始化,它会按预期工作.
Array variableSubclass: #Blower
instanceVariableNames: 'index'
(...)
Blower >> initialize
super initialize.
1 to: self size do: [ :ix | self at: ix put: ix ].
self shuffle.
index := 1.
Run Code Online (Sandbox Code Playgroud)
如果我在工作区中执行以下操作:
blower := Blower new: 10.
blower inspect.
检查窗口显示(不是我的预期):
\#( nil nil nil nil nil nil nil nil nil nil )
index: nil
如果我手动运行初始化,Inspect-window是正确的:
blower initialize.
\#( 6 4 1 10 2 8 3 ... )
index: nil
Run Code Online (Sandbox Code Playgroud)
那么为什么在创建Blower并正确设置时不会初始化运行?反正有没有自动化,所以它发生在创作?IE浏览器.初始化工作?
如何在没有@操作员的情况下以艰难的方式实现此功能?
let rec append l i =
(* For example, if l is a list [1;2] and i is an integer 3
append [1;2] 3 = [1;2;3]*)
;;
Run Code Online (Sandbox Code Playgroud) 我正在编写一个别名来删除一系列包含整数的目录。我不知道如何用我在输入命令时添加的 2 个变量(参数)替换 322 和 394 等值。
这是当前状态下的别名。
alias rRange='ls -1 | awk -F'"'"'v'"'"' '"'"'{if ( ($2>=322) && ($2<=394) ) print "rm -fRv " $0 }'"'"''
Run Code Online (Sandbox Code Playgroud)
但我希望能够输入:
rRange 322 394
Run Code Online (Sandbox Code Playgroud)
能够改为驱动该别名。目前这些值是硬编码在那里。
我对红宝石很新.我正在尝试在ruby中打印目录结构.以下是我正在使用的代码:
Repo_dir = 'path_to_the_dir'
dir = Dir.entries(Repo_dir)
dir.each do |folder|
if folder == '.' or folder == '..'
print ""
else
print "#{folder}\n"
if File.directory?(folder)
print "we are here !"
sub_dir = Dir.entries("#{Repo_dir}#{File::SEPARATOR}#{folder}")
sub_dir.each do |subdir|
print "#{subdir}\n"
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
此代码只打印父目录(dir数组)的结构.它不打印我的'dir'对象条目中的文件/文件夹,也就是说,它从不打印子目录,也不打印"我们在这里!".File.directory?方法总是返回false.
Ruby版本:1.9.3