小编Sax*_*owl的帖子

有没有更简洁的方法来格式化 .expect() 消息?

我目前必须使用它来格式化.expect()消息:

fn main() {
    let x: Option<&str> = None;
    x.expect(&format!("the world is ending: {}", "foo")[..]);
}
Run Code Online (Sandbox Code Playgroud)

有没有更简洁的方法?

format rust

17
推荐指数
3
解决办法
4329
查看次数

如何通过ajax不断更新内容时如何创建持久性javascript?

我有一个通过ajax更新的网页.它每1分钟加载更新的新闻源.我想要做的是创建一个javascript来检测传入的日期字段并在其周围添加一个强大的标记.以下是获取Feed的html示例:

<div class="results">
  <div class="article">
    <div class="date">jan 8, 2013</div>
    <p>Some content here</p>
  </div>
  <div class="article">
    <div class="date">feb 8, 2013</div>
    <p>Some content here</p>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我可以编写更新它的基本javascript,但它只会触发一次.如果"results"元素中有任何更改并采取相应措施,我如何进行javascript检测.

html javascript ajax

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

遍历字符串失败,出现StringIndexError

注意:这个问题是由这个话语线索引起的

考虑以下示例字符串:

str = "This is some text that initially consists of normal ASCII characters—but oh wait, the em-dash is only part of the extended ASCII character set!"
Run Code Online (Sandbox Code Playgroud)

尝试使用其长度遍历此字符串:

for i in 1:length(str)
  println(i, str[i])
end
Run Code Online (Sandbox Code Playgroud)

失败StringIndexError,返回循环中途返回以下消息:

ERROR: StringIndexError("This is some text that initially consists of normal ASCII characters—but oh wait, the em-dash is only part of the extended ASCII character set!", 70)
Stacktrace:
 [1] string_index_err(::String, ::Int64) at ./strings/string.jl:12
 [2] getindex_continued(::String, ::Int64, ::UInt32) at ./strings/string.jl:217 …
Run Code Online (Sandbox Code Playgroud)

string julia

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

丢失数组指针值?

我正在创建一个用于将数字从文件读入数组的函数。但是从函数返回后,似乎丢失了最后一个值。这是我的代码:

void loadDataset(int* dataSet, int DataSetSize, char *filename) {
    FILE *fp;
    fp = fopen( filename , "r" );

    for(int i=0; i< DataSetSize; i++){
        fscanf(fp, "%d", &dataSet[sizeof(int) * i]);
    }

    for (int i = 0; i < DataSetSize; i++) {
        printf("%d\n", dataSet[sizeof(int) * i]);
    }

    fclose(fp);
}

int main(int argc, char *argv[]) {
    ...
    int* ds = malloc(sizeof(int) * DataSetSize);
    loadDataset(ds, DataSetSize, DatasetFilename);

    for (int i = 0; i < DataSetSize; i++) {
        printf("%d\n", ds[sizeof(int) * i]);
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我正在测试的文件包含从1到6的数字。在运行时 …

c arrays pointers

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

设置 bitbucket 管道 yaml 文件

我刚开始使用 bitbucket,只是尝试设置简单的构建管道。单击管道菜单选项并编辑示例文件并提交。这在我的 master 分支上创建了一个管道 yaml 文件。它运行并构建正常 - 它没有构建我的开发分支。

我是否需要在每个分支上都有一个管道 yaml 文件。

我可以从文档中看到,我可以将分支特定步骤放入一个文件中,如果我编辑已在 master 上提交的文件以包含开发分支的部分,那么当我提交到开发分支或这只会在提交到 master 分支时触发。

yaml bitbucket-pipelines

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

在c中创建我自己的memset函数

这是原型:

void *memset(void *s, int c, size_t n)
Run Code Online (Sandbox Code Playgroud)

首先我不确定我是否必须返回一些东西,因为当我使用memset时,例如

memset(str, 'a', 5);
Run Code Online (Sandbox Code Playgroud)

代替

str = memset(str, 'a', 5);
Run Code Online (Sandbox Code Playgroud)

这是我的代码所在:

void *my_memset(void *b, int c, int len)
{
    int i;

    i = 0;
    while(b && len > 0)
    {
        b = c;
        b++;
        len--;
    }
    return(b);
}

int main()
{
    char *str;

    str = strdup("hello");
    my_memset(str, 'a', 5);
    printf("%s\n", str);
}
Run Code Online (Sandbox Code Playgroud)

我不想在这个函数中使用数组,以更好地理解指针和内存,所以我没有得到2件事: - 如何将int c复制到我的void b指针上的一个字符 - 我要用什么条件来确定它在'\ 0'字符之前停止

编辑:我想知道有没有办法在没有投射的情况下执行此功能?

c memory pointers memset pointer-arithmetic

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

生成真随机数

我想模拟随机提供52张标准卡而不使用rand/srand urandom等...

这是我的随机数函数

int rand2(int lim)
{
  static int a = 34;  // could be made the seed value                                                            
  a = (a * 32719 + 3) % 32749;
  return ((a % lim) + 1);
}
Run Code Online (Sandbox Code Playgroud)

结构我将知道卡是否已经弹出(0 =否,1是)

typedef struct          s_game
{
  int                   *cards;
  int                   state;
  unsigned int          dat_rand;
}                       t_game;

int             main()
{
  t_game        game;
  int           i;
  int           rd;

  i = 0;
  game.cards = malloc(sizeof(*game.cards) * 52);
  while(i < 52)
    {
      rd = rand2(52);
      if(game.cards[rd] == 0)
        {
          game.cards[rd] = …
Run Code Online (Sandbox Code Playgroud)

c random

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

我可以在C中将char *传递给const char *吗?

我正在实现一个在C中将字符串转换为double的函数。该函数不是破坏性的,即,我不修改传递的字符串,而只是在函数中读取它。我想将char *,const char *以及字符串文字传递给函数。

以下功能是否适合此目的?我认为问题在于是否在C中定义了并允许将char *传递给const char *。

double str2double( const char* input);
Run Code Online (Sandbox Code Playgroud)

谢谢。(我找到了一些类似的问题标题,但他们的答案对我来说很模糊,我在这里问。)

c const char

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

printf中的“%。#s”是什么意思?

我在hackerearth中有一个问题来检查此printf语句中是否有错误。您能告诉我下面的这一行是否有意义?这里

str="qwertyABC"

printf("%.#s",str)
Run Code Online (Sandbox Code Playgroud)

c printf

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

为什么预处理器的标记粘贴运算符 ## 不适用于变量?

#if !defined(STDIO_H) && !defined(STDLIB_H)
    #include<stdio.h>
    #include<stdlib.h>
#endif
#if !defined(LIMITS_H)
    #include<limits.h>
#endif
#if !defined(MATH_H)
    #define pow(a,b)    {\
                            int i=1,p=1;\
                            while(i<=b)\
                            {\
                                p=p*a;\
                                i++;\
                            }\
                            printf("%d\n",p);\
                        }
    #define join(a,b)   a##b
#endif
int main()
{
    int a,b;
    printf("Enter a b : ");
    scanf("%d %d",&a,&b);
    pow(a,b);
    printf("%d\n",join(a,b));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误是一致的,printf("%d",join(a,b));但如果我用 56 和 34 之类的常量替换 a & b,它就可以完美运行。

c variables c-preprocessor

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