小编Cal*_*Jay的帖子

为什么我的for循环打印不像我期望的伪代码?

int main(void)
{
int height = 24;

while (height > 23 || height <=0)
{
printf("How tall do you want the tower to be?\n");
height = GetInt();
}

for(int a = 0; a < height; a++)
{
    for(int c = a; c<=height; c++)
    {
        printf(" ");
    }
    for(int b = height - a; b<=height; b++)
    {
        printf("#");
    }
    printf("\n");
}
}
Run Code Online (Sandbox Code Playgroud)

所以,我要做的是有一个塔与终端窗口的左边缘对齐.但是出于某种原因,这会在"最后一行"(塔底)的开头产生两个额外的空格.甚至更奇怪的是,当我用笔和纸坐下并手动完成程序时,我显示第一行应该有一些空格,等于"高度"+ 1,后面跟着一个"#"然后是一个新行,然后是一个等于"height"的空格,后跟两个"#",依此类推.为什么我的代码不是那样评估的,而且我的两个额外空格是什么?对不起的解释很抱歉.

c

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

理解C中交换程序的指针

我试图更好地理解指针和C语言中的引用,我的课程提供了以下程序作为示例.

#include <stdio.h>

void swap(int* a, int* b);

int main(void)
{
    int x = 1;
    int y = 2;

    swap(&x, &y);
    printf("x is %i\n", x);
    printf("y is %i\n", y);
}

void swap(int* a, int* b)
{
    int tmp = *a;
    *a = *b;
    *b = tmp;
}
Run Code Online (Sandbox Code Playgroud)

我将以下内容混为一谈,看看它是否能帮助我更好地了解正在发生的事情,主要是关于使用&与*(取消引用)的需要.基本上,声明指向int类型(int*a)的指针与使用星号指向"取消引用"(*a =*b)的语法对我来说非常混乱,我希望有人可以启发我.以下是我认为有助于澄清的上述另一个版本,但实际上并非如此:

#include <stdio.h>

void swap(int* a, int* b);

int main(void)
{
    int x = 1;
    int y = 2;
    int *a = &x;
    int *b = &y;

    swap(a, b);
    printf("x is %i\n", …
Run Code Online (Sandbox Code Playgroud)

c pointers dereference address-operator

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

如何防止占位符文本在大高度输入表单元素中垂直居中?

input type='text' 高度为的元素中的占位符文本100px垂直居中。我希望它在顶部对齐。

JSFiddle

在此处输入图片说明

Product.html

<div class="form-group">
            <label for="description">Description</label>
            <input type="text" name="description" id="description" placeholder="Enter a new product description..." class="form-control" />
</div>
Run Code Online (Sandbox Code Playgroud)

product.less

#description{
  height: 100px;

  ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    vertical-align: top;
  }
  ::-moz-placeholder { /* Firefox 19+ */
    vertical-align: top;
  }
  :-ms-input-placeholder { /* IE 10+ */
    vertical-align: top;
  }
  :-moz-placeholder { /* Firefox 18- */
    vertical-align: top;
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经把伪选择器从#description块中取出来,所以它们没有被编译成,#description ::-webkit...但这不起作用。我已经尝试了所有类型的垂直对齐组合,但无法弄清楚。也许占位符伪选择器不是正确的路径?我们正在使用引导程序,但我找不到任何会导致它在占位符中强制垂直对齐的东西,或者任何实现顶部对齐占位符文本的引导程序。

编辑:没有 LESS 编译错误。我已经确认伪选择器正在编译到.css文件中。

编辑:我有一个大脑放屁,并试图以艰难的方式建立一个大的文本区域。文本区域存在,如果您在这里找到了自己,请使用它们。

html css less twitter-bootstrap

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

Karma没有在karma-webpack中运行具有"import"语句的测试

我有一些测试文件,我想对我的应用程序运行测试.

我试图使用karma,karma-webpack,karma-babel-preprocessor,karma-chrome-launcher,和jasmine在我的测试.我的应用程序取决于很多东西,包括backbone,marionette等等.我的应用程序是使用构建的webpack,我试图将webpack我的文件捆绑在一起进行测试.(我最初想看看我是否可以跳过这一步,即只是import一个待测试的文件,但似乎这是不可能的.)

我的测试脚本看起来像

package.json(脚本部分)

"test": "./node_modules/karma/bin/karma start",
Run Code Online (Sandbox Code Playgroud)

其余的文件:

karma.conf.js

var webpackConfig = require('./config/webpack/webpack.test.conf.js');

module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine'],
    files: [
      { pattern: 'test/**/*.spec.js', watched: true },
      { pattern: 'test/*.spec.js', watched: true }
    ],
    exclude: [
    ],
    preprocessors: {
        'test/**/*.spec.js': ['webpack'],
        'test/*.spec.js': ['webpack']
    },
    webpack: webpackConfig,
    webpackMiddleware: {
        stats: 'errors-only'
    },
    reporters: ['progress'],
    port: 9876,
    colors: …
Run Code Online (Sandbox Code Playgroud)

javascript karma-runner karma-jasmine webpack karma-webpack

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

尝试使用@ alias时,Jest无法找到@ babel/code-frame

我们的应用程序使用importES2015样式语法导入文件,利用Webpack 4.6.0本机支持ES2015模块.我们还使用别名来缩短相对文件路径.

Webpack.conf.js

resolve: {
        extensions: ['.js', '.json', '.less'],
        alias: {
            '@': resolve('public/js'),
            'handlebars': 'handlebars/dist/handlebars.js',
        },
        modules: ['less', 'node_modules']
    },
Run Code Online (Sandbox Code Playgroud)

example.js

import widget from '@/widgets/widget';
Run Code Online (Sandbox Code Playgroud)

文件结构

- webpack.conf.js
- .babelrc
- test/
- public/
- - js/
- - - widgets/
- - - - widget.js
Run Code Online (Sandbox Code Playgroud)

当我导入例如example.js具有别名的时候import,Jest会抛出一个错误,"无法解析模块'@/widgets/widget'.

根据一篇非常具体的文章以及Jest文档,解决方案是使用Jest的ModuleNameMapperconfig属性来设置匹配的别名.我试图这样做:

的package.json

  "jest": {
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
      "\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js",
      "@(.*)$": "<rootDir>/public/js/$1"
    },
    "verbose": true,
    "transform": {
      "^.+\\.js$": "babel-jest"
    }, …
Run Code Online (Sandbox Code Playgroud)

javascript webpack jestjs babeljs

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

使用reduce在Javascript中构建过滤函数

在一次采访中,有人向我提出了一个让我摸不着头脑的问题。我不想花周末担心结果,而是想尝试解决问题,但我无法弄清楚:

使用下面的reduce函数,构建一个过滤函数,该函数将一个数组和一个测试函数作为参数,并返回一个新数组,该数组已根据测试函数过滤了前一个数组的元素。

使用 forEach 或类似的方法会很简单,但要求是使用这个reduce 函数:

function reduce(array, combine, start) {
  var current = start;
  for (var i = 0; i < array.length; i++)
    current = combine(current, array[i]);
  return current;
}
Run Code Online (Sandbox Code Playgroud)

所以

var myArray = [0, 1, 3, 5, 9];
console.log(filter(myArray,function(x){
 return x > 2; 
}));
Run Code Online (Sandbox Code Playgroud)

会回来

[3,5,9]

我尝试了以下方法,但收到了非法的退货声明,我什至不确定我是否走在正确的道路上。

function filter(array, test){
 var giveArray = [];
  if(reduce(array,function(current,start){
    return test(current);
  },false)){
    giveArray.push(current);  
  }
 } 
  return giveArray;
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

在 gcloud 上调试节点应用程序以修复 500 服务器错误

我们有一个庞大的小节点应用程序,想试用谷歌云部署套件使其在线,但是我们的部署总是导致页面出现 500 服务器错误。

通常我会提供更多信息、错误等,但我希望有更多知识的人可以指导我在哪里可以找到这些信息。值得注意的是没有出现在gcloud终端时,我们gcloud preview app deploy,只是一个帮preparingpushing和最终的deployed module [default] to ...消息。但是,导航到 URL 会给我们一个 500 服务器错误:

Error: Server Error

The server encountered an error and could not complete your request.
Please try again in 30 seconds.
Run Code Online (Sandbox Code Playgroud)

看一眼响应头并没有提供更多信息,所以我浏览了堆栈驱动程序/日志,但唯一的一件事是一堆/_ah/backgroundGET,没有任何我们请求的迹象。

我们可以从哪里开始调试这个问题?它是一个节点应用程序,具有节点/快速后端、反应前端和 webpack 构建器。

编辑:这是应用引擎仪表板的屏幕截图

我们的app.yaml

runtime: nodejs
vm: true

skip_files:
  - ^(.*/)?.*/node_modules/.*$
Run Code Online (Sandbox Code Playgroud)

我们的package.json

  "scripts": {
    "test": "karma start",
    "watch": "watch 'npm run test' client/",
    "clean": "rm -rf dist", …
Run Code Online (Sandbox Code Playgroud)

google-app-engine node.js google-compute-engine gcloud gcloud-node

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

Bootstrap 如何在面包屑组件中添加“/”?

v3 和 v4 中的 Bootstrap 面包屑组件都添加了一个“/”来列出项目:

http://getbootstrap.com/components/#breadcrumbs

https://v4-alpha.getbootstrap.com/components/breadcrumb/

文档说:

分隔符通过 ::before 和 content 自动添加到 CSS 中。

所以,我查看了源代码,相关部分显示:

.breadcrumb-item + .breadcrumb-item::before {
  display: inline-block;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  color: #636c72;
  content: "/";
}
Run Code Online (Sandbox Code Playgroud)

然而,content: "/";唯一存在的breadcrumb-item规则。然而,当我遵循 v3 文档时它似乎工作,它不需要breadcrumb-item列表中项目的类:

<ol class="breadcrumb">
  <li class=''><a href="#">Home</a></li>
  <li class=''><a href="#">Library</a></li>
  <li class="active">Data</li>
</ol>
Run Code Online (Sandbox Code Playgroud)

JSFiddle

为什么带有上述 CSS 的上述 HTML 导致/分隔符被添加到.breadcrumb列表中的项目,即使它们没有.breadcrumb-item类,因此无法从content: "/"规则中受益?检查 JSFiddle 中的输出 HTML 表明没有引导 javascript 魔术.breadcrumb-item向我的 html 列表项添加了一个类。

html css twitter-bootstrap

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

在Google Analytics中对ID标识的页面进行分组

我的任务是从我们的Google Analytics(分析)帐户中生成更多有用的数据.

我们有URL路径,包括给定对象的ID,比如产品,工作区或设备.所以路线看起来像

/ide/products/8a8985cf-8a74-ee7a-a9a3-d1335a4a7ad6/workspaces/987dd13e-57a3-353b-2b42-db58c479d0ca/draft/devices/40000c2a69109dd8

/ide/products/531743df-3d77-ec6b-4014-d33925639743/workspaces/e0eb62fc-e7d2-56ec-56cf-79ae53714de3/draft

/ide/products/65bc6914-4ddd-1718-0d47-e91b0ff1dff1/workspaces/f7b526ad-7e5c-7f11-f4ad-bb53f8e583d7/draft

/ide/products/65bc6914-4ddd-1718-0d47-e91b0ff1dff1/workspaces/f7b526ad-7e5c-7f11-f4ad-bb53f8e583d7/deployments

遵循模式/ide/products/{{product_id}}/workspaces/{{workspace_id}}/{{page}},除其他外.

在"行为流,"我正在努力向用户展示如何从导航/ide/ide/productside/products/{{any_product_id}}/workspaceside/products/{{any_product_id}}/workspaces/{{any_workspaces_id}}/draft,但我不清楚如何创建忽略任意ID的分组.我尝试了"内容分组",但这些似乎比我正在寻找的更高级别,因为我必须"选择"一个作为行为流程图中的顶级过滤器(而不是"自动")集团").

无论"插入"给定页面的对象的实际ID如何,我如何演示相同的用户流?如何查看Google Analytics中的图表

/ide/products/65bc6914-4ddd-1718-0d47-e91b0ff1dff1/workspaces/f7b526ad-7e5c-7f11-f4ad-bb53f8e583d7/draft

/ide/products/531743df-3d77-ec6b-4014-d33925639743/workspaces/e0eb62fc-e7d2-56ec-56cf-79ae53714de3/draft

同样的路线?

编辑:另一个例子:我正在查看行为>页面计时,主要维度设置为"页面".我看到/ide/products/{{id_1}}/workspaces/{{workspace_1}}/draft并且/ide/products/{{id_2}}/workspaces/{{workspace_2}}/draft作为单独的实体,理想情况下它们将被视为单个实体,因为页面加载时间受该页面上的应用程序功能的影响(无论给定的ID如何都是通用的).

google-analytics

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

在 Material Design 组件的上下文中,“使用这个 SASS mixin”意味着什么?

我正在使用Web 库的材料设计组件。我有一个我想更改的选项卡组件underline-color

说明说

要自定义选项卡指示器,请使用以下 mixin。

然后它给出了一张桌子。对于下划线颜色,它说

underline-color($color) 自定义下划线的颜色。

因此,我在我的scss文件中尝试以下内容:

  .mdc-tab-indicator {
      underline-color(red);
  }
Run Code Online (Sandbox Code Playgroud)

我编译我的 sass (使用dart-sass)并收到以下错误

Error: expected "{".
Run Code Online (Sandbox Code Playgroud)

它说这是一个“Sass Mixin”。因此,我查看了有关 mixins 的 SASS 文档。我没有看到任何遵循语法的内容mixin-name($variable)。里面的一切看起来都像

@mixin reset-list {
  margin: 0;
}
Run Code Online (Sandbox Code Playgroud)

用花括号,而不是圆括号。但是,该错误表明它需要一个大括号,并且显然该@符号是必需的。所以,我尝试:

  .mdc-tab-indicator {
      @underline-color(red);
  }
Run Code Online (Sandbox Code Playgroud)

这不会引发错误,但不会导致下划线颜色发生变化。我尝试遵循 sass 文档的语法:

  .mdc-tab-indicator {
      @underline-color(red){};
  }
Run Code Online (Sandbox Code Playgroud)

没有错误,但没有颜色变化。我尝试更好地匹配语法:

  .mdc-tab-indicator {
      @mixin underline-color(red){};
  }
Run Code Online (Sandbox Code Playgroud)

这会抛出

Error: expected ")".
Run Code Online (Sandbox Code Playgroud)

我尝试

  .mdc-tab-indicator {
      @mixin underline-color(red);
  }
Run Code Online (Sandbox Code Playgroud)

同样的错误。

我不明白材料组件文档的说明是什么。当它说“要自定义选项卡指示器,请使用以下 mixins”时,这是什么意思。?如何更改 Material Design Component …

sass gwt-material-design scss-mixins

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