小编Fuh*_*tor的帖子

如何做掩码操作Pharo?

在Pharo中,我想对整数进行位掩码,在Python中如下所示:

((b1 & 0x3F) << 4) | (b2 >> 4)
Run Code Online (Sandbox Code Playgroud)

我知道这一点,&并且|在Pharo工作,但是我很确定他们不是明智之举。

bitwise-operators pharo

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

如何使用Pharo中的浏览器创建软件包?

对于Pharo中的新手,如何创建软件包?该MOOC锻炼说“使用浏览器创建包”,但如何?

pharo

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

PlantUML:“来自/到类成员的箭头”出现意外结果

我正在尝试做类似的事情: 在此输入图像描述

我与代码的唯一区别是我的类采用点格式,例如auth.Permission

@startuml
class auth.Permission {
+ id
+ content_type
+ codename
}


class auth.Group {
+ id
+ name
+ permissions
}

auth.Group::permissions -- auth.Permission
@enduml
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,最终结果是错误的:创建了第三个类,而不是在正确的位置绘制关系:https://www.plantuml.com/plantuml/uml/SoWkIImgAStDuKhEIImkLaWiBSdG2qWjoiqiBixCprEevj9Mo4m14idvUIMfUINn9PK5gM1kIcfUOcugLoqN5x9MzwByqWA4Bf0I85K0D x0Of06XqieAIKf1LnVTVYw7rBmKeEi0

错误的输出

我做错了什么?谢谢。

uml plantuml

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

Java中的监视器和同步块(看起来两个线程同时拥有一个监视器)

我试图理解synchronized()我在本文末尾写的程序中的块.

有两个线程(ok)使用共享lock对象作为wait/notify的监视器.

ok在以下synchronized块中等待启动:

synchronized (lock) {
    lock.wait(); // wait for K to be ready
}
Run Code Online (Sandbox Code Playgroud)

k然后通知o并等待它在这个块内打印:

synchronized (lock) {
    lock.notify(); // tell O to print
    lock.wait(); // wait for O to print
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何k进入同步块lock?不应该o拥有lock(因为它被称为wait())?在Java教程说:

只要一个线程拥有一个内部锁,没有其他线程可以获得相同的锁.另一个线程在尝试获取锁时将阻塞.

这是完整的程序:

public class OK implements Runnable {

    private static final Object lock = new Object(); // monitor for wait/notify

    private …
Run Code Online (Sandbox Code Playgroud)

java multithreading synchronized notify wait

2
推荐指数
1
解决办法
1213
查看次数

为什么它被称为"匿名"内部阶级?

就在今天,我需要一种在不同对象之间传递函数的方法.我很快就知道你不能直接用Java做到这一点,但是你可以传递一个显然被称为"匿名内部类"的wht实例,如下所示:

要定义类:

interface MyCallback {
    public int execute(int i1, int i2);
}
Run Code Online (Sandbox Code Playgroud)

要创建它的实例:

MyCallback callback = new MyCallback() {
    public int execute(int i1, int i2) {
        return i1 + i2;
    }
};
Run Code Online (Sandbox Code Playgroud)

并称之为:

int sum = callback.execute(1, 2);  // Sets sum to 3.
Run Code Online (Sandbox Code Playgroud)

很简单.但我不明白为什么它被称为"匿名".我不是只给它起名字MyCallback吗?一个被命名的东西不能匿名,对吗?请帮助我摆脱对这个术语的困惑.

java

2
推荐指数
1
解决办法
202
查看次数

如何在Pharo中显示进度条?

我有一个do:Pharo,需要很长时间才能处理.我想向用户展示它的进展情况.Pharo是如何完成的?

pharo

2
推荐指数
1
解决办法
79
查看次数

从字符串中删除最后n个字符

Pharo初学者在这里 - 我有一些(丑陋?)代码适用于特定情况,但想知道是否有更好(更可读)的方式.我想得到一个没有.git的仓库的名称(如果它在那里).

修剪n个字符会很棒.我正在寻找一个通用的解决方案.

我找到了,trimRight:但这不是一些角色; 它是白色空间或特定字符.

(projectName endsWith: '.git')
        ifTrue: [ projectName := projectName 
            copyFrom: 1 to: projectName size - '.git' size - 1 ]
Run Code Online (Sandbox Code Playgroud)

pharo

2
推荐指数
1
解决办法
61
查看次数

如何在Pharo 6.1中"归档"?

想要将我的小项目从Pharo 5迁移到Pharo 6.1,当我右键单击我的包及其类时,我很高兴地找到了File Out选项.我看到它为我的图像目录中的那些工件生成文本文件(我在Windows上运行).到现在为止还挺好.

但是,我到处寻找一个菜单,将这些文件导入Pharo 6.1(右键单击包列表等)无济于事.如何进行文件输入(与文件输出相反)?

pharo pharo-5 pharo-6

2
推荐指数
1
解决办法
111
查看次数

查找漏洞的源代码(在package.json中)(在package-lock.json中)

GitHub今天给我发了一封电子邮件警告我package-lock.json文件中存在漏洞.不过,据我所知,是在生成该文件npm installpackage.json.

我怎样才能找出哪个包(from package.json)链接到易受攻击的包(in package-lock.json)?

相关问题:

github npm npm-install

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