小编Hyd*_*per的帖子

为什么Java允许将空值赋给Enum

这更像是一个设计问题.(所以,没有代码.我可以发布创建Enum的代码并将其指定为null如果你想让我这样做.:))我最近一直在思考这个问题,但不能提出一个很好的理由.Enum常量是隐式静态和最终的.Enum意味着 - "我可以取一个存在于我身上的常数值".为什么允许Enum具有空值?为什么不隐式地将Enum的值默认为a Enum.DEFAULTEnum.None?这不是比允许Enum更好的方法null吗?

java enums

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

使用gcc链接共享库

我在Windows目标上使用Real View编译器工具(RVCT 3.2)创建了一个共享库(*.so).然后我尝试在linux系统上使用gcc将这个*.so文件链接到我的应用程序.

将此共享库与我的应用程序li​​nux链接的gcc选项是什么?

我的问题是,是-shared选项,用作

gcc -shared myfile.so
Run Code Online (Sandbox Code Playgroud)

...,用于创建SO文件或链接SO文件?我相信它创造了类似的东西:

gcc -lmyfile.so
Run Code Online (Sandbox Code Playgroud)

这够了吗?或者是否有任何其他开关告诉链接器它是一个动态库(共享对象)?

linker gcc shared-libraries

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

将图像读取为线条的算法(然后得到它们的结果)?

是否有算法从像素中获取图像的线条笔划(忽略曲线,圆圈等,所有内容将被视为线条,但仍然类似于矢量)?然后得到它们的结果,就像一个Array

这就是它的基本工作方式

基本阅读

这样,每行像素将被读作1条水平线,我也想处理垂直线; 但是如果有一个圆形的脂肪线需要超过1行

圆脂线

它将被视为一条线.它的线宽与它所具有的像素高度相同.

例如,假设我们有一个包含(红色,绿色,蓝色,alpha)格式(JavaScript)像素行的数组:

/* formatted ImageData().data */
[
    new Uint8Array([
        /* first pixel */
        255, 0, 0, 255,
        /* second pixel */
        255, 0, 0, 255
    ]),

    new Uint8Array([
        /* first pixel */
        0, 0, 0, 0,
        /* second pixel */
        0, 0, 0, 0
    ])
]
Run Code Online (Sandbox Code Playgroud)

这将是2x2px图像数据,具有直的水平红线.所以,从这个数组中,我想得到一个包含行数据的数组,如:

[
    // x, y: start point
    // tx, ty: end point
    // w: line width

    // the straight horizontal red line of 1 pixel
    { x: 0, …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm image-processing

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

不推荐使用table.getn - 如何获取数组的长度?

我试图在Lua中获取数组的长度table.getn.我收到此错误:

不推荐使用函数table.getn!

(在Transformice Lua中)

lua

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

从TypeScript中的根路径导入模块

我们假设我有一个项目,它的主要源目录是:

C:\product\src
Run Code Online (Sandbox Code Playgroud)

基于此目录,每个导入路径都与它相关.即,假设:

// Current script: C:\product\src\com\name\product\blah.ts

import { thing } from '/com/name/product/thing';
Run Code Online (Sandbox Code Playgroud)

与...一样:

// Current script: C:\product\src\com\name\product\blah.ts

import { thing } from '../../../com/name/product/thing';
Run Code Online (Sandbox Code Playgroud)

我的条目编译文件位于:

C:\product\src
Run Code Online (Sandbox Code Playgroud)

例如.那么,有没有办法C:\product\src在编译器选项中指定这样的输入路径(例如)?我需要在tsconfig.json文件中指定它,因为我将使用webpack.

我已经尝试过上面的示例,但TypeScript表示无法找到所请求的模块:

// Current script: A.ts

import { B } from '/com/B';


// Current script: B.ts

export const B = 0;
Run Code Online (Sandbox Code Playgroud)

我的tsconfig.json文件(在另一个项目中,但两者都相似):

{
    "compilerOptions": {
        "module": "commonjs",
        "noImplicitReturns": true,
        "noImplicitThis": true,
        "noUnusedLocals": true,
        "preserveConstEnums": true,
        "removeComments": true,
        "sourceMap": true,
        "strictNullChecks": true,
        "target": "ES6"
    },

    "include": [
        "./src/**/*.ts",
        "./src/**/*.d.ts"
    ]
}
Run Code Online (Sandbox Code Playgroud)

typescript typescript1.8 typescript2.0 typescript2.1 typescript2.2

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

哪些语法可以使用递归下降进行解析而无需回溯?

根据维基百科上的"递归下降解析器",只有LL(k)语法才能实现没有回溯(也就是预测解析)的递归下降.

在其他地方,我已经读过Lua的实现使用这样的解析器.但是,该语言不是 LL(k).事实上,Lua天生就是含糊不清的:是a = f(g)(h)[i] = 1a = f(g); (h)[i] = 1还是a = f; (g)(h)[i] = 1?这种歧义通过解析器中的贪婪来解决(因此上面被解析为错误的a = f(g)(h)[i]; = 1).

这个例子似乎表明预测解析器可以处理不是LL(k)的语法.事实上,它们是否能够处理LL(k)的超集?如果是这样,有没有办法找出一个给定的语法是否在这个超集中?

换句话说,如果我正在设计一种我想使用预测解析器解析的语言,我是否需要将语言限制为LL(k)?或者我可以适用更宽松的限制吗?

lua parsing recursive-descent context-free-grammar ll-grammar

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

是否可以绘制Drawable并从中获取位图?

是否可以将绘制DrawableTexture(位图)?我怎么能这样做,拜托?


我的尝试

我修改了绿圈示例.现在它真的被绘制为位图......

但它就是这样绘制的:

不平滑的弧形.

我想要抗锯齿.

通过RenderWindow课程,我可以通过传递一个来消除锯齿ContextSettings.使用@ Mario的建议我需要,不幸的是RenderTexture我无法控制它ContextSettings.

@ AlexG的建议

我创建了一个Context,但我的编译器说my_test.cc:9:57: error: use of deleted function 'sf::Context::Context(const sf::Context&)'.呃!还有其他选择

#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>

int main()
{
    sf::ContextSettings settings =
        sf::ContextSettings(0, 0, 6);

    sf::Context context = sf::Context(settings, 200, 200);
    context.setActive(true);

    sf::RenderWindow window(
        sf::VideoMode(200, 200), "sfml test", sf::Style::Default,
        settings
    );

    sf::RenderTexture cacheTexture;
    if (!cacheTexture.create(200, 200)) return 0;
    cacheTexture.setSmooth(true);

    sf::CircleShape shape(100.f, 75);
    shape.setFillColor(sf::Color::Green);

    cacheTexture.setActive(true);
    cacheTexture.draw(shape);

    cacheTexture.setActive(false);
    context.setActive(false); …
Run Code Online (Sandbox Code Playgroud)

c++ sfml

9
推荐指数
2
解决办法
237
查看次数

在coffescript中声明全局变量

我使用Gem Coocon作为嵌套表格.

#end_date_job_portfolio如果.checkBoxCurrentJob选中,我需要隐藏字段.问题是如果用户没有点击添加新的嵌套表单,jQuery就看不到标签,因为这些标签document还没有.

为此,我使用了cocoon:after-insert.我的脚本:

$(document).ready -> 
  checkbox_date = ""
  end_date = ""
  $('.experiences').on 'cocoon:after-insert', ->
    checkbox_date = $(".checkBoxCurrentJob")
    end_date = $('#end_date_job_portfolio') 
    console.log(checkbox_date)



  #show it when the checkbox is clicked
  ?heckbox_date.on 'click', ->
    console.log("la la la")
    if checkbox_date.prop('checked')
      checkbox_date.hide()
    else
      checkbox_date.fadeIn()
    return 
Run Code Online (Sandbox Code Playgroud)

它显示ReferenceError: \u0441heckbox_date is not defined错误.如何将click checkbox_dateend_date值传递cocoon:after-insert给click事件checkbox_date

javascript ruby-on-rails coffeescript

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

'file:' 协议 (URL) 后的 '///' 的含义

为什么file:协议在这个 URL 中有 3 个(反)斜杠?

file:///C:/Users
Run Code Online (Sandbox Code Playgroud)

C:/Users是此 URL 的路径名。)

URL 解析器如何处理它?


我认为这 3 个斜线的最后一个斜线可能意味着“路径”,我在声明之前输入了一个主机名,比如

file://domainname.extension/C:/Users
Run Code Online (Sandbox Code Playgroud)

但是 JavaScript 的 URL 解析器会忽略这个域名。

url file-uri

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

使用std :: string导致Windows"找不到入口点"

当我用GCC编译时:

#include <iostream>
#include <string>

int main()
{
    std::cout << std::string("\r\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

通过使用以下批次:

g++ -Wall main.cc
Run Code Online (Sandbox Code Playgroud)

并尝试执行output(a.exe),然后Windows崩溃初始化时出现此错误:

运行时错误

如果我避免std::string在C++代码中使用它会正常执行,甚至包括<string>.有任何想法吗?

注意,第一次测试std::string.

我运行Windows 8/64位.我的编译器包含这个文件build-info.txt:

# **************************************************************************

version : MinGW-W64-builds-4.3.0
user    : nixman
date    : 03.30.2017- 1:01:08 PM
args    : --mode=gcc-6.3.0 --buildroot=/c/mingw630 --jobs=2 --rev=2 --threads=win32 --exceptions=sjlj --arch=i686 --bin-compress

[much more here...]

# **************************************************************************
Run Code Online (Sandbox Code Playgroud)

另请注意,我习惯于禁用和卸载所有可能的防病毒实用程序(例如,Windows Defender).

c++ windows gcc runtime-error windows-8

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