标签: block

迭代器中的Ruby instance_variable_set错误:`market_0_home'不允许作为实例变量名

首先,这里是在下面的迭代之外的@ market_0_home的分配,只是为了告诉你我尝试过

>> @market_0_home = 3
=> 3
Run Code Online (Sandbox Code Playgroud)

好的,那里没有错误,现在让我们在一个有点复杂的迭代中尝试这个

>> markets
=> [{"home"=>"CO", "name"=>"David Douglas"}, {"home"=>"SC", "name"=>"David Robertson"}]
>> markets.each_with_index do |market, i|
?> market.each do |name, v|
?> instance_variable_set "market_#{i}_#{name}", v
>> end
>> end
NameError: `market_0_home' is not allowed as an instance variable name
from (irb):23:in `instance_variable_set'
from (irb):23
from (irb):22:in `each'
from (irb):22
from (irb):25:in `each_with_index'
from (irb):21:in `each'
from (irb):21:in `each_with_index'
from (irb):21
>> 
Run Code Online (Sandbox Code Playgroud)

ruby each iterator block variable-assignment

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

Objective-C块

试图了解块如何在objective-c中工作.阅读apple的文档时有下一个问题(链接)

以下是我们不应该使用块的示例:

void dontDoThis() {
    void (^blockArray[3])(void);  // an array of 3 block references

    for (int i = 0; i < 3; ++i) {
        blockArray[i] = ^{ printf("hello, %d\n", i); };
        // WRONG: The block literal scope is the "for" loop.
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我们如何能够获得3个不同的块来打印"你好,0","你好,1"和"你好,2"?我尝试了很多不同的方法,但每次我得到"你好,2"三次.

block objective-c

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

如何阻止外部访问的CSS

有人试图窃取我的css文件在他的网站上使用.我可以以某种方式阻止CSS文件从外部访问,但不会损坏我的网站?不知何故通过htaccess或其他东西.感谢您的建议,任何帮助表示感谢.

css .htaccess block

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

是否可以在轨道(或红宝石的其他地方)防止块返回?在数组中返回50,000条记录需要一段时间

所以我在我的表中的所有50,000条记录中运行了一些逻辑(实际上有几条记录,但我们只是在这里解决一个它们都是相同的操作)并标记布尔指示符:

ActiveRecord::Base.silence do
  CoreRevenue.where('core_revenues_usd IS NOT NULL').each do |c|
    c.ok = true
    c.save
  end
end
Run Code Online (Sandbox Code Playgroud)

正如你可能已经注意到,我已经从输出一串SQL响应控制台的"闭嘴"的数据库,但总是有在操作结束的大阵列转储,可以采取有时只要5-10秒.

所以我想知道我是否可以在操作完成后停止从x哪里x = CoreRevenue.where('core_revenues_usd IS NOT NULL')倾倒.谢谢.

同样"令人兴奋的"将是一个答案,解释为什么由于某种lambda演算计算事物或者你有什么不可能

ruby activerecord return ruby-on-rails block

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

将块级<span>元素放在<p>元素中

我知道这<p>是专门用于内联元素.但是,如果将内联元素更改<span>为块级元素{ display:block }并将其包含在一个块中,该<p>怎么办?

即.

<html>
<head>
<style>

  p {
    background: red;
    height: 100px;
    width: 100px;
    }

  p span {
    display: block;
    background: blue;
    height: 50px;
    width: 50px;
    }

</style>
</head>

<body>

<p>
  <span>I am a pizza</span>
</p>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这个词的每个意义上都是错的吗?我知道这不常见(即大多数人会质疑为什么我不只是使用div),但这是一个假设的情况.它通过了验证测试,但它是不是很糟糕/糟糕的做法?如果你阅读那段代码,你会嗤之以鼻吗?

html inline block paragraph

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

如何通过方法调用传递阻止?

我需要一个帮助器,它生成一个包含在<li>包含活动类的链接.

没有支持块这很容易:

  def nav_item(*args, &block)
    url = args[1]
    clazz = 'active' if current_page?(url)

    content_tag(:li, :class => clazz) do
      link_to(*args)
    end
  end
Run Code Online (Sandbox Code Playgroud)

但就像link_to我希望我的助手支持用于定义内容的块一样.使用link_to,我可以这样做:

那么如何在我的助手中支持相同的内容呢?

我需要做的就是将块传递给link_to.我目前的尝试

  def nav_item(*args, &block)
    url = if block_given?
      args.first
    else
      args[1]
    end
    clazz = 'active' if current_page?(url)
    content_tag(:li, :class => clazz) do
      if block_given?
        # What goes here?
      else
        link_to(*args)
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails block helper link-to

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

数组中的Ruby块

我需要一个块数组,每个块可以带一个参数:

array = [
  block do |x| puts x end,
  block do |x| puts x.to_s+" - " end
]
Run Code Online (Sandbox Code Playgroud)

并以下列形式提出要求:

array[0] << 34
Run Code Online (Sandbox Code Playgroud)

我有一个想法将大数字转换成单词.我想知道块的限制.可能有另一种方式,但我很好奇,如果这是可能的.

ruby arrays block

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

如何在android中实现块

In IOS we use blocks when we want to handle an action when a particular situation occur.

在android中有没有这样的方法来处理onCompletion的情况,我们可以添加它在哪里.

AsyncTask方法一样,它知道工作何时完成.它执行onPostExecute.当特定情况到达时我们如何创建这种类型的方法,我们就像处理它一样.

今天我找到了一种在IOS中表现得像Block的方式

BaseAsyncTask(new Callback(){

onPostResult(string result)
{
// do whatever you want to do with the result got from asynctaks
}
});
Run Code Online (Sandbox Code Playgroud)

它是一个委托,它在达到特定情况时调用..

我是正确的,上面的代码是我们在IOS中的块中的块.或者在android中有任何其他创建块的方法.

android block ios android-asynctask

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

如何将函数应用于每个foreach结果?

我正在尝试创建一个非常简单的数据库驱动的块构建器,用于一些有趣的圣诞节编码.目前,我从数据库中以正确的顺序获取所有块,然后运行foreach循环遍历它们:

function get_blocks() {
    global $db;
    $GLOBALS['current_page_id'] = get_page_id();
    $stm = $db->prepare("SELECT * FROM page_blocks WHERE page_id = :id ORDER BY `block_order` ASC");
    $stm->execute(array(':id' => 1));
    $res = $stm->fetchAll();
    return $res;
}

$blocks = get_blocks();

foreach($blocks as $block) {
    if($block['block_name'] == 'block-type-1') {
        //code to execute
    }
}
Run Code Online (Sandbox Code Playgroud)

它可以工作,但我需要能够做的是将一个函数应用于每个块类似于(是的,我知道这不起作用):

foreach($blocks as have_block($block))
Run Code Online (Sandbox Code Playgroud)

有没有办法按顺序循环遍历数据库中的块,然后将函数应用于结果?

php foreach function block builder

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

Ruby的不同行为取决于块类型

美好的一天.我有相同的代码块的不同行为取决于块语法花括号或do/end的类型.刚跳过do/end的块没有任何错误通知:

带有大括号的块只是实现和p打印one Ruby is a COOL language!:

p "rubyisacoollanguage".gsub(/(ruby)(is)(a)(cool)(language)/) {
   "one " + $1.capitalize + " %s %s %s %s!" % [$2,$3,$4.upcase,$5]
}
Run Code Online (Sandbox Code Playgroud)

do/end中的"相同"代码段只是跳过,并p告诉我Enumerator <Enumerator: "rubyisacoollanguage":gsub(/(ruby)(is)(a)(cool)(language)/)>:

p "rubyisacoollanguage".gsub(/(ruby)(is)(a)(cool)(language)/) do
    "two " + $1.capitalize + " %s %s %s %s!" % [$2,$3,$4.upcase,$5]
end
Run Code Online (Sandbox Code Playgroud)

我认为这是因为p在第二种情况下它会消除阻塞.当我添加p内部块时,事情变得清晰.来自第一个块的数据打印2次,而来自第二个的数据根本没有被打印.

p "rubyisacoollanguage".gsub(/(ruby)(is)(a)(cool)(language)/) {
   p "one " + $1.capitalize + " %s %s %s %s!" % [$2,$3,$4.upcase,$5]
}
p "rubyisacoollanguage".gsub(/(ruby)(is)(a)(cool)(language)/) do
    p "two " + $1.capitalize …
Run Code Online (Sandbox Code Playgroud)

ruby block

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