小编dco*_*ing的帖子

是否可以从命令行运行Smalltalk脚本?

从2004年发现了一篇(可能已过时且不正确)的博客文章,声称无法从命令行运行Smalltalk脚本.从那时起有什么变化,是否可以从命令行运行Smalltalk脚本?我已经做了很多谷歌搜索,我根本没有找到关于这个主题的信息.

有没有办法将Smalltalk脚本(例如这个)保存为文件,然后从命令行运行脚本?

Transcript show: 'This should be printed to the standard output.' printString; cr.
Run Code Online (Sandbox Code Playgroud)

smalltalk gnu-smalltalk

14
推荐指数
2
解决办法
2660
查看次数

如何在任意数量的参数上进行模式匹配?

是否有一个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开发应用程序:)

谢谢.

ocaml pattern-matching

10
推荐指数
1
解决办法
7085
查看次数

如何在Squeak中撤消> 1

你怎么在吱吱声中多次撤消?我正在使用coglinux-VM,Squeak-Image 4.5和Squeak源版本41.

我在工作区窗口中编写了一些测试代码,想要撤消更多步骤,但Squeak不会这样做.

smalltalk undo squeak

6
推荐指数
1
解决办法
175
查看次数

使用Amber将选项传递给JS函数

我正在尝试写相当于:

$( "#draggable" ).draggable({ axis: "y" });

在Amber smalltalk.

我的猜测是:'#draggable' asJQuery draggable: {'axis' -> 'y'}但不是这样.

smalltalk amber-smalltalk

5
推荐指数
1
解决办法
322
查看次数

Squeak Smalltalk:初始化不适用于从Array派生的类?

当谈到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浏览器.初始化工作?

smalltalk squeak

4
推荐指数
1
解决办法
427
查看次数

将整数附加到Ocaml中的List

如何在没有@操作员的情况下以艰难的方式实现此功能?

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)

recursion ocaml list

3
推荐指数
2
解决办法
2万
查看次数

在 Bash 中,如何删除数字范围的目录?

我正在编写一个别名来删除一系列包含整数的目录。我不知道如何用我在输入命令时添加的 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)

能够改为驱动该别名。目前这些值是硬编码在那里。

directory bash alias arguments range

3
推荐指数
1
解决办法
1695
查看次数

`File.directory?`方法在传递Dir.entries元素时总是返回`false`

我对红宝石很新.我正在尝试在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

ruby directory traversal dir subdirectory

0
推荐指数
1
解决办法
312
查看次数