标签: block

使用块创建哈希(Ruby)

我可以从一个块创建一个Ruby哈希吗?

像这样的东西(虽然这特别不起作用):

foo = Hash.new do |f|
  f[:apple] = "red"
  f[:orange] = "orange"
  f[:grape] = "purple"
end
Run Code Online (Sandbox Code Playgroud)

ruby hash block

9
推荐指数
3
解决办法
8326
查看次数

Linux中的Clang块?

Clang有一个非常酷的扩展名为block,它将真正的lambda函数机制引入C语言.与block相比,gcc的嵌套函数非常有限.但是,尝试编译一个简单的程序c.c:

#include <stdio.h>

int main() {
    void (^hello)(void) = ^(void) {
        printf("Hello, block!\n");
    };
    hello();
    return 0;
}

clang -fblocks c.c,我得到了

/usr/bin/ld.gold: /tmp/cc-NZ7tqa.o: in function __block_literal_global:c.c(.rodata+0x10): error: undefined reference to '_NSConcreteGlobalBlock'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

似乎我应该使用clang -fblocks c.c -lBlocksRuntime,但后来我得到了

/usr/bin/ld.gold: error: cannot find -lBlocksRuntime
(the rest is the same as above)

任何提示?

c linux block clang

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

行主要订单指数

我目前正在研究将2d地形图保存为一维数组的项目.地图中的每个块都由xy坐标索引.因此,为了将地图保存为一维数组,我使用行主要顺序方法(http://en.wikipedia.org/wiki/Row-major_order)将xy坐标转换为单个索引值(其中让我把块放到一个数组中).

现在,我的问题是如何将其转换回来?我有一个唯一的号码,我必须转换回xy坐标.任何帮助,将不胜感激.^^

indexing block map coordinate

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

Ruby块语法错误

可能重复:
Ruby块和未加括号的参数

我不确定我是否理解这种语法错误.我正在使用Carrierwave来管理Rails应用程序中的一些文件上传,我似乎错误地将一个块传递给其中一个方法.

以下是Carrierwave文档中的示例:

version :thumb do
  process :resize_to_fill => [200,200]
end
Run Code Online (Sandbox Code Playgroud)

这就是我的所作所为:

version :full   { process(:resize_to_limit => [960, 960]) }
version :half   { process(:resize_to_limit => [470, 470]) }
version :third  { process(:resize_to_limit => [306, 306]) }
version :fourth { process(:resize_to_limit => [176, 176]) }
Run Code Online (Sandbox Code Playgroud)

我得到以上不起作用syntax error, unexpected '}', expecting keyword_end.有趣的是,以下工作完美:

version :full   do process :resize_to_limit => [960, 960]; end
version :half   do process :resize_to_limit => [470, 470]; end
version :third  do process :resize_to_limit => [306, …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails block syntax-error carrierwave

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

Objective-C:typedef为一个块,在方法声明中使用它.我该如何实现?

只是想试试块.我明白了.它们就像函数指针,但它们实际上是对象; 你可以声明一个块变量并为它赋值一个块值; 把它称为功能; 由于缺少一个术语,当它们被执行时,它们会"及时冻结",等等.我创建了几个块并以几种不同的格式成功运行它们,但是当它在方法中使用它们时 - - 使用typedef或不使用 - 我遇到了很多麻烦.例如,这是我创建的对象接口,只是为了获得语法句柄.我几乎不知道如何实现它.

// AnObject.h

#import <Foundation/Foundation.h>

// The idea with the block and the method below is for the block to take
// an int, multiply it by 3, and return a "tripled" int.  The method
// will then repeat: this process however many times the user wants via
// the howManyTimes parameter and return that value in the form of an int.

typedef int (^triple)(int);

@interface AnObject : NSObject
{
    int num; …
Run Code Online (Sandbox Code Playgroud)

block objective-c

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

Jade - 在脚本标签内使用Block

您好,我正在尝试使用Jade的扩展为node.js项目,而ideia是这样的:

layout.jade:

head
    script
        $(document).ready(function() {
        block js_doc_ready
            //here goes the doc ready
        });
Run Code Online (Sandbox Code Playgroud)

index.jade:

block js_doc_ready
    alert('hello!');
    alert('one more js line code');
    alert('end my js doc ready for this view');
Run Code Online (Sandbox Code Playgroud)

这会给我一个像这样的index.html:

...
<head>
    <script type="text/javascript">
            $(document).ready(function() {
                alert('hello!');
                alert('one more js line code');
                alert('end my js doc ready for this view');         
            });
    </script>
</head>
...
Run Code Online (Sandbox Code Playgroud)

但是当我看到结果时,'block js_doc_ready'不被视为Jade块.此外,即使它被认为是块,"警报('你好!);' 不会被认为是a,而是Jade标签.

这是我以前在django模板中所做的事情,但是在使用所有这些标签的玉器中,没有做纯HTML的自由我仍然觉得制作这个东西有点太奇怪了.

templates block pug

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

如何在Linux上显示当前磁盘IO队列长度?

我正在为Linux内核开发一个新的IO调度程序.我试图看看是否有人知道在Linux中打印出未完成的IO请求总数(磁盘IO队列)的工具?

我会在一个终端工作.

谢谢!

linux io kernel block scheduler

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

Objective C++块语义

考虑以下C++方法:

class Worker{
....
private Node *node
};

void Worker::Work()
{
    NSBlockOperation *op=[NSBlockOperation blockOperationWithBlock:  ^{
            Tool hammer(node);
            hammer.Use();
          }];
    ....
    }
Run Code Online (Sandbox Code Playgroud)

在捕获"节点"时,块确切地捕获了什么?对于其他情况,块的语言规范http://clang.llvm.org/docs/BlockLanguageSpec.html是明确的:

在复合语句范围内使用的变量以正常方式绑定到块,但自动(堆栈)存储中的变量除外.因此,可以按照人们的预期访问函数和全局变量,以及静态局部变量.[考验我]

块的复合语句中引用的本地自动(堆栈)变量将作为const副本导入并捕获.

但在这里,我们是否捕获了当前的这个值?副本这个使用工人的拷贝构造函数?或者对节点存储位置的引用?

特别是,假设我们说

 {
 Worker fred(someNode);
 fred.Work();
 }
Run Code Online (Sandbox Code Playgroud)

当块运行时,对象fred可能不再存在.节点的价值是多少?(假设底层的Node对象永远存在,但是工​​作者来去.)

相反,我们写了

void Worker::Work()
    {
        Node *myNode=node;
        NSBlockOperation *op=[NSBlockOperation blockOperationWithBlock:  ^{
                Tool hammer(myNode);
                hammer.Use();
              }];
        ....
        }
Run Code Online (Sandbox Code Playgroud)

结果有何不同?

block objective-c objective-c++

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

Magento:为所有孩子阻止unsetChild?

我知道:

<action method="unsetChild"><name>as</name></action>
Run Code Online (Sandbox Code Playgroud)

是否可以删除一行中的所有孩子?例如:

<action method="unsetChild"><name>*</name></action>
Run Code Online (Sandbox Code Playgroud)

或类似的东西..?

更新 - 答案:

<action method="unsetChildren"/>
Run Code Online (Sandbox Code Playgroud)

似乎很合理地做了这个伎俩..

layout block magento unset

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

Magento 2嵌套块

我正在从Magento 1.x迁移到Magento 2

我创建了default.xml文件来自定义现有布局.

我的情况是我有一个名为"main-header"的div,我想要一个名为"menu"的嵌套div.

现在,我知道块可以有模板.所以我尝试创建一个嵌套的块结构(不知道它是否在Magento 2中有效):

<referenceContainer name="header.container">
        <container name="common-header" label="Header common to all pages" as="common-header" htmlTag="div" htmlClass="main-header">
            <block class="Mymodule\Test\Block\Header" template="header/top_header.phtml">
                <block name="header.menu" class="Mymodule\Test\Block\Menu" template="header/menu.phtml"/>
            </block>
        </container>
    </referenceContainer>
Run Code Online (Sandbox Code Playgroud)

在top_header.phtml中,我正在尝试调用:

<?php $block->getChildHtml('header.menu'); ?>
Run Code Online (Sandbox Code Playgroud)

我知道我从Magento 1.x那里得到的上述陈述

block magento2

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