小编kaj*_*acx的帖子

Prism HTML荧光笔

我正在使用Prism,它对CSS 很有用:

<pre><code class="language-css">p { color: red }</code></pre>
Run Code Online (Sandbox Code Playgroud)

但我无法让它适用于html:

<pre><code class="language-html"><p class="red">red text</p></code></pre>
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  1. <并>表示为标签,而不是文本,但我可以用&lt;和替换它&gt;

  2. 更重要的是,即使更换问题1,高亮度也不会突出显示任何代码,一切都只是黑色.尽管它适用于CSS,但整个代码如下所示:

<!DOCTYPE html>
<html>
    <head>
        <link href="prism.css" rel="stylesheet" />
    </head>
    <body>
        <script src="prism.js"></script>
        <pre><code class="language-css">p { color: red }</code></pre>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

html5 syntax-highlighting prism.js

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

在具有重载构造函数的类中传递null时首先调用哪个构造函数?

下面是具有3个重载构造函数的java类:

public class Test {

    public Test(Object i){
        System.out.println("Object invoked");
    }

    public Test(String i){
        System.out.println("String invoked");
    }

    public Test(int k){
        System.out.println("Integer invoked");
    }

    public static void main(String[] args) throws Exception {

        Test t = new Test(null);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果在创建新的类实例时传递了null值,那么将调用哪个构造函数?是什么原因 ?

java overloading

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

Java 8:使用&进行多次转换

我正在研究Comparator#comparing()JDK 1.8 的源代码,并且lambda的渲染对我来说是一个惊喜:

//declaration
{
    Objects.requireNonNull(keyExtractor);
    return (Comparator<T> & Serializable)  // <- this cast here
        (c1, c2) -> keyExtractor.apply(c1).compareTo(keyExtractor.apply(c2));
}
Run Code Online (Sandbox Code Playgroud)

看完之后

如果指定的函数也是可序列化的,则返回的比较器是可序列化的.

和一些玩代码,我弄清楚为什么这个工作,以及为什么如果演员不同,它将无法工作.

我的问题是:这个多重铸造是什么(A & B)?

通过谷歌搜索java multiple cast我发现只有多个使用铸造(A)(B).是否有关于在JDK中添加此内容的文章1.8?

java casting java-8

9
推荐指数
0
解决办法
181
查看次数

在主分支的基础分支重新建立基础后,如何重新建立分支的基础

我有一个分支A,我在其中做了一些更改a,然后我创建了一个新分支B来A继续进行一些更改b,因此总更改B为a, b。最后,其他人将他们的更改合并c到 master 中,所以工作树现在看起来像这样:

- c (master)
 \ 
  - a (A) - b (B)
Run Code Online (Sandbox Code Playgroud)

然后我重新调整A为 master ,将更改从atoa'更改并强制将它们推送到分支A,因此工作树如下所示:

- c (master) - a' (A)
 \
  - a - b (B)
Run Code Online (Sandbox Code Playgroud)

问题

我如何变基B为A,以便仅b更改新的更改,工作树如下所示:

- c (master) - a' (A) - b' (B)
Run Code Online (Sandbox Code Playgroud)

如果我git rebase origin/A在 on 时尝试B,那么它会尝试解决a …

git branch rebase branching-and-merging

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

Chrome扩展程序:使chrome.tabs.query()同步

我目前正在使用此代码:

url = "unknown";
chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function(tabs) {
    console.log(tabs); //test, prints one-element array as expected
    url = tabs[0].url;
});
$("#url_div").html(url);
Run Code Online (Sandbox Code Playgroud)

获取当前URL,但是chrome.tabs.query()是同步的,如何使其同步?(即添加asynch: false某处)

我知道我可以将其网址内的查询,或从那里调用另一个函数,但最好是(例如被simplifed),如果它不是非同步.

javascript asynchronous google-chrome-extension

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

如何测试对 React hook 的依赖

我正在尝试使用测试自定义挂钩@testing-library/react-hooks,但在测试依赖项时遇到问题。让我们举useEffect个例子:

import { renderHook } from '@testing-library/react-hooks';
import { useEffect } from 'react';

test('test dependency', () => {
  const callback = jest.fn((value: number) => {});
  let currentValue = 5;

  renderHook(() => useEffect(() => callback(currentValue), [currentValue]));
  expect(callback).toBeCalledTimes(1);
  expect(callback).toHaveBeenLastCalledWith(5);

  renderHook(() => useEffect(() => callback(currentValue), [currentValue]));
  expect(callback).toBeCalledTimes(1); // error here: called 2 times in reality
  expect(callback).toHaveBeenLastCalledWith(5);

  currentValue = 6;
  renderHook(() => useEffect(() => callback(currentValue), [currentValue]));
  expect(callback).toBeCalledTimes(2);
  expect(callback).toHaveBeenLastCalledWith(6);
});
Run Code Online (Sandbox Code Playgroud)

预期行为:useEffect不会使用相同的依赖项列表再次调用。

实际行为:useEffect每次都会被调用,可能是因为上下文被破坏并在 betweeb 之间重新创建renderHook。

我还尝试将渲染方法放入一个常量中,如下所示: …

unit-testing reactjs jestjs react-hooks

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

来自远程目录的Java Class.forName()

我目前正在加载Java类Class.forName()来加载它.

clazz = Class.forName("interfaces.MyClass");
Run Code Online (Sandbox Code Playgroud)

但是现在我想从不同的目录加载类,我试图设置classpath

clazz = Class.forName("-cp \"C:/dir\" distantinterfaces.DistantClass");
Run Code Online (Sandbox Code Playgroud)

没有成功ClassNotFoundException.远程班级的完整路径是:

C:/dir/distantinterfaces/DistantClass.class
Run Code Online (Sandbox Code Playgroud)

java class classpath classloader classnotfoundexception

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

Git 列出包含字符串的提交,并在包含该字符串的更改行周围进行比较

假设我有一个名为 的函数MySuperFunction。如何列出添加/删除/更改/使用此函数的所有提交,仅包含该更改的上下文?

例如,如果 commitc使用此函数添加了一行和其他 100 行,我想查看:提交哈希、提交消息、提交的作者和日期(可选),最重要的是:函数所在行周围的差异添加了上下文前后各 5 行(包含文件名和行号),但不是提交的全部 100 行。

我尝试了什么以及为什么它不起作用:

  • git log -p | grep -C5 "MySuperFunction"- 打印带有上下文的差异,但不打印提交信息。
  • git grep "MySuperFunction"- 只打印当前的使用情况MySuperFunction
  • git log -GMySuperFunction- 只打印commit信息,但不打印diff
  • git log -GMySuperFunction -p- 打印提交信息和差异,但它打印每个提交的整个差异,而不仅仅是周围的行MySuperFunction
  • git rev-list --all | GIT_PAGER=cat xargs git grep 'MySuperFunction'- 打印内容中包含“MySuperFunction”的所有提交,而不是其差异

是否有任何 git log 选项,或者我是否必须编写自己的脚本来仅获取差异的输出git log -GMySuperFunction -p并过滤差异,留下提交信息?

git git-log

5
推荐指数
0
解决办法
468
查看次数

Java字符串格式条件

我想写一个依赖于人的性别的句子,这是我能做的:

String createSentence(String name, boolean isMale) {
    return String.format(isMale ? "I met %s, he was OK." : "I met %s, she was OK.", name);
}
Run Code Online (Sandbox Code Playgroud)

但你已经看到了失败(它工作,但代码是双重的),我想要的东西像:

String createSentence(String name, boolean isMale) {
    return String.format("I met %s, %b?'he':'she' was OK.", name, isMale);
}
Run Code Online (Sandbox Code Playgroud)

这个ofc不起作用,但是这样可能吗?

编辑:

因为我想要生成很多句子,即使是在不同的语言中,并且它们将被存储为某种排序或数组,因此这种解决方案是不方便的:

static String createSentence(String name, boolean isMale) {
    return String.format("I met %s, "+(isMale?"he":"she")+" was OK.", name);
}
Run Code Online (Sandbox Code Playgroud)

java string format conditional-statements

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

Java 在负坐标上绘制图像

我想做一些最能用这张图片解释的事情:

jpanel 上的图像

换句话说,我需要将图片的右下部分放入 jpanel 的左上部分,我尝试将 x 和 y 设置为负数,但没有成功,图像根本不显示。有一个简单的方法可以做到这一点吗?

我目前正在使用

g.drawImage(img, x, y, null)
//x and y are negative
Run Code Online (Sandbox Code Playgroud)

来画它。

java swing image jpanel

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

Java Jinput:重新扫描/重新加载控制器

我正在使用java jinput库从joypad读取数据,我无法重新加载Controllers,我使用它来加载它们:

public Controller[] findStickControllers() {
    ControllerEnvironment ce =
            ControllerEnvironment.getDefaultEnvironment();

    Controller[] cs = ce.getControllers();

    System.out.println(cs.length); //test

    ArrayList<Controller> sel = new ArrayList<>();

    for (Controller c: cs) {
        if(c.getType() == Type.STICK) {
            sel.add(c);
        }
    }

    return sel.toArray(new Controller[]{});
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我断开我的控制器,调用它将再次找到它,反之亦然(在第一次检查后连接它将根本找不到它).

我试图在第一次查找前放置睡眠,结果如下:

  1. 首次调用此方法时(而不是程序启动时)会对控制器进行实际扫描
  2. 再次调用时,它总是返回与第一次返回的控制器相同的控制器.
  3. 第一次打电话也会写下警告
  4. 即使控制器连接(并且工作),然后断开连接(它仍会找到它)并重新连接,它将无法工作

点3的警告:(列表格式不正确)

WARNING: Found unknown Windows version: Windows 8
Attempting to use default windows plug-in.
Loading: net.java.games.input.DirectAndRawInputEnvironmentPlugin
Run Code Online (Sandbox Code Playgroud)

我正在使用Win 8,并在Win 7上遇到同样的问题.我也用鼠标试过这个,结果相同.

如何在第2次,第3次等时间内重新加载控制器?

java controller reload jinput

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

Android布局外部CSS

我的xml布局中有多个按钮(对于Andoid)非常双重:

        <ImageButton
            android:src="@drawable/tr" //duplicity everywhere but here
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:id="@+id/button1" //and here
            android:clickable="true"
            android:scaleType="fitXY"
            android:layout_margin="10dp"
            android:background="@color/button" />

        <ImageButton
            android:src="@drawable/rb"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:id="@+id/button2"
            android:clickable="true"
            android:scaleType="fitXY"
            android:layout_margin="10dp"
            android:background="@color/button" />

        ...
Run Code Online (Sandbox Code Playgroud)

是否有类似CSS或某些类/模板的东西让我整个晚上都不会50dp改为55dp100次?

如果重要的话,我正在使用android studio 2.6.

css xml layout android styles

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

调试断言失败:_BLOCK_TYPE_IS_VALID

在C++中使用以下代码:

class Foo {
    vector<Foo*> otherFoos;
};

int _tmain(int argc, _TCHAR* argv[])
{
  Foo* data = new Foo[5];
  delete data;
}
Run Code Online (Sandbox Code Playgroud)

我得到以下错误: 在此输入图像描述

我正在使用Visual Studio 2013.我不知道我的代码有什么问题.

c++ memory-management dynamic-memory-allocation

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