小编Art*_*llé的帖子

连接两个字符串文字

我正在阅读Koenig的Accelerated C++.他写道:"新的想法是我们可以使用+来连接字符串和字符串文字 - 或者就此而言,使用两个字符串(但不是两个字符串文字).

很好,我认为这是有道理的.现在进行两个单独的练习,意在阐明这一点.

以下定义是否有效?

const string hello = "Hello";

const string message = hello + ",world" + "!";
Run Code Online (Sandbox Code Playgroud)

现在,我尝试执行上述操作并且有效!所以我很高兴.

然后我试着做下一个练习;

const string exclam = "!";

const string message = "Hello" + ",world" + exclam;
Run Code Online (Sandbox Code Playgroud)

这没用.现在我明白它与你无法连接两个字符串文字的事实有关,但我不理解为什么我设法让第一个例子工作之间的语义差异(不是",世界"和"! "两个字符串文字?这不应该没用吗?"但不是第二个.

c++ string syntax concatenation operators

117
推荐指数
4
解决办法
13万
查看次数

在C中初始化变量

我知道有时如果你没有初始化int,你会得到一个随机数,如果你打印整数.

但是将所有内容初始化为零似乎有点愚蠢.

我问,因为我正在评论我的C项目并且我非常直接进行缩进并且它完全编译(90/90谢谢Stackoverflow)但是我想在样式点上得到10/10.

所以,问题是:何时适合初始化,何时应该声明一个变量:

int a = 0;
Run Code Online (Sandbox Code Playgroud)

int a;
Run Code Online (Sandbox Code Playgroud)

c initialization

21
推荐指数
5
解决办法
7万
查看次数

从tar安装erlang导致错误,想知道如何指定文件夹

我有灵感开始搞乱Erlang,我在安装它时遇到问题......我正在使用Linux Mint 16(petra).我安装了依赖项,然后下载了otp_src_17.1.tar.gz并运行'tar -zxf otp_src_17.1.tar.gz'然后运行./configure,这给了我一些错误,使得无法运行make.

这些是我得到的错误(实际上我做的是我做了./configure> configure.txt来获取它配置时打印的所有行,并且它还方便地打印到控制台上所有有错误的东西 - 整洁)

configure: WARNING: No odbc library found skipping odbc
configure: WARNING: "ODBC library - header check failed"
configure: WARNING: "ODBC library - link check failed"
rm: remove write-protected regular file './CONF_INFO'? 
configure: WARNING: No GLU headers found, wx will NOT be usable
/home/core/Desktop/otp_src_17.1/lib/wx/./configure: line 5195: wx-config: command not found
/home/core/Desktop/otp_src_17.1/lib/wx/./configure: line 5893: ./CONF_INFO: Permission denied
configure: WARNING:
                wxWidgets must be installed on your system.

        Please check that wx-config is in path, the …
Run Code Online (Sandbox Code Playgroud)

linux installation erlang install erl

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

对于没有第二个条件的循环,即布尔检查?

我必须编写一个函数来计算传入的unsigned int的日志库16的底限.对于允许使用哪些运算符和哪些常量有限制,我们只能使用专门的for循环.

为清楚起见,我们不能使用任何条件语句(如果,否则,切换...).功能原型是:

int floor_log16(unsigned int x); 
Run Code Online (Sandbox Code Playgroud)

允许的运营商: ++ -- = & | ~ ^ << ! >>

允许的常数: 1 2 3 4 8 16

我写了一个程序版本如下:

int floor_log16(unsigned int x) {
    int index=1;
    int count=(1!=1);

    count--;

    for(; index<=x; index<<=4) {
        count++;
    }

    return count;
}
Run Code Online (Sandbox Code Playgroud)

这看似按预期工作.但是,我意识到,根据后来的功能和所需的功能,我们必须编写说明,我注意到,在"允许运营商"有时><上市.

我推断这意味着,因为对于floor_log16上面列出的函数,我们没有明确告知使用><,我只能假设上面发布的解决方案不被接受.

这让我很困惑,因为我不明白你怎么可能有一个没有布尔检查的for循环?

在条件满足时,不是循环迭代的整个想法吗?

c loops for-loop

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

以合理的方式打印 RethinkDB 查询的响应

我正在参加 Yelp 数据集挑战赛,并使用 RethinkDB 来存储每个不同数据集的 JSON 文档。

我有以下脚本:

import rethinkdb as r
import json, os

RDB_HOST =  os.environ.get('RDB_HOST') or 'localhost'
RDB_PORT = os.environ.get('RDB_PORT') or 28015
DB = 'test'

connection = r.connect(host=RDB_HOST, port=RDB_PORT, db=DB)

query = r.table('yelp_user').filter({"name":"Arthur"}).run(connection)
print(query)
Run Code Online (Sandbox Code Playgroud)

但是当我在 virtualenv 的终端上运行它时,我得到以下示例响应:

<rethinkdb.net.DefaultCursor object at 0x102c22250> (streaming):
[{'yelping_since': '2014-03', 'votes': {'cool': 1, 'useful': 2, 'funny': 1}, 'review_count': 5, 'id': '08eb0b0d-2633-4ec4-93fe-817a496d4b52', 'user_id': 'ZuDUSyT4bE6sx-1MzYd2Kg', 'compliments': {}, 'friends': [], 'average_stars': 5, 'type': 'user', 'elite': [], 'name': 'Arthur', 'fans': 0}, ...]
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用 pprint 来漂亮地打印输出,但我不明白如何解决的一个更大问题是以智能方式打印它们,就像不只是将“...”显示为输出的结尾。

有什么建议么?

python python-3.x rethinkdb reql

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

当用作方法签名时<T> T是什么意思?它是一种返回类型吗?

abstract public <T> T iterEdges(EdgeFun<T> func, T accum);
Run Code Online (Sandbox Code Playgroud)

这是针对图形的多线程库.我不是要求任何与实际实现相关的内容,我只是不明白双返回类型是什么意思?

我只是在猜这里,但这是我的解释(我试过谷歌搜索,但谷歌不匹配非字母数字符号,所以我尝试了几个术语的组合,但没有得到任何地方.)

它只是说它将返回某种T型集合?两个类扩展了此方法所在的类,因此我猜它允许多态,但这是什么意思呢?

java oop generics generic-programming

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

为什么在更改内部HTML后,此HTML/JS会恢复为原始格式?

我开始学习JavaScript,我想知道为什么这不会永久地使"短暂"出现在按钮之前以及为什么它会在按下按钮之前恢复到原始HTML页面?

的index.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="mind.js"></script>
</head>
<body>
    <h1 id = "identifier"></h1>
    <form>
        <button value = "button!" onclick="doSomething()"> </button>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

mind.js

function doSomething() {
    document.getElementById("identifier").innerHTML = '<i>Ephemeral</i>';
}
Run Code Online (Sandbox Code Playgroud)

html javascript innerhtml

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

我们可以创建一个与该列表中的每个创始人匹配的正则表达式吗?

用户@adventured在Hacker News上发布了此内容:

Paul Graham (31, Viaweb); Jan Koum (33, WhatsApp); Brian Acton (37, WhatsApp); Ev Williams (34, Twitter); Jack Dorsey (33, Square); Elon Musk (32, Tesla | 31, SpaceX | 27, PayPal); Garrett Camp (30, Uber); Travis Kalanick (32, Uber); Brian Chesky (27, Airbnb); Adam Neumann (31, WeWork); Reed Hastings (37, Netflix); Reid Hoffman (36, LinkedIn); Jack Ma (35, Alibaba); Jeff Bezos (30, Amazon); Jerry Sanders (33, AMD); Marc Benioff (35, Salesforce); Ross Perot (32, EDS); Peter Norton (39, Norton); …
Run Code Online (Sandbox Code Playgroud)

ruby regex

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

如何正确使用python类型提示?

我在文档中读到 Python 3.5 版本中存在类型提示我在 ipython 终端中编写了两个函数来测试这对“相同”函数意味着什么。

def dostuff(name: str) -> str:
  print(str.capitalize())

def do_stuff(name):
  print(str.capitalize())
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,调用dostuff('arthur')do_stuff('arthur')都返回 'Arthur'。

但是,调用do_stuff([])dostuff([])都返回错误:

AttributeError: 'list' object has no attribute 'capitalize'
Run Code Online (Sandbox Code Playgroud)

这是有道理的,相同的错误在两者中都是有效的,但是为什么类型提示器/检查器实际上没有声明性地声明argument not of type 'str'或其他什么?

另外,如果您定义如下内容:

def do_stuff(name: str) -> str: 
    return list(name)  
Run Code Online (Sandbox Code Playgroud)

即使函数应该返回一个字符串,解释器甚至不会抱怨我返回的是一个列表而不是一个字符串。

我知道这些都是人为的例子,但我做错了什么吗?

python types type-hinting python-3.x python-typing

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

确定回文 - 操作员*如何工作?

该程序应该采用三位数字并将其更改为回文.123会成为321.

逻辑是正确的,程序正确编译.:)然而,这些的逻辑并不容易.

我的教授用"堆栈图"解释了一些东西,我觉得它们很有帮助.我根据另一个程序创建了这个程序,因为我注意到了这与我制作不同程序之间的相似之处,但指向如何工作?

#include <stdio.h>

void reverse_number(int in_val, int *out_val) {
    int ones, tens, hundreds;

    ones = in_val % 10;
    tens = (in_val % 100 - ones) / 10;
    hundreds = (in_val - (ones + tens)) / 100;

    *out_val = (ones * 100) + (tens * 10) + hundreds;
}

int main() {
    int in_val;
    int out_val;

    printf("Give a three digit num to reverse: \n");
    scanf("%d", &in_val);

    reverse_number(in_val, &out_val);
    printf("New number is: …
Run Code Online (Sandbox Code Playgroud)

c pointers palindrome

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