小编Row*_*ish的帖子

RSpec any_instance弃用:如何解决?

在我的Rails项目中,我正在使用任何实例的rspec-mocks,但我想避免这个弃用消息:

Using any_instance from rspec-mocks' old :should syntax without explicitly enabling the syntax is deprecated. Use the new :expect syntax or explicitly enable :should instead.

这是我的规格:

describe (".create") do
  it 'should return error when...' do
    User.any_instance.stub(:save).and_return(false)
    post :create, user: {name: "foo", surname: "bar"}, format: :json
    expect(response.status).to eq(422)
  end
end
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

def create
    @user = User.create(user_params)
    if @user.save
      render json: @user, status: :created, location: @user
    else
      render json: @user.errors, status: :unprocessable_entity
    end
end
Run Code Online (Sandbox Code Playgroud)

我想使用new:expect语法,但我找不到如何正确使用它.

我正在使用RSpec 3.0.2.

ruby testing rspec ruby-on-rails

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

具有两个输入参数的权威策略

我对Rails很新,我对以下策略有问题(使用Pundit):我想比较两个对象:@record并且@foo,如您所见:

class BarPolicy < ApplicationPolicy
  def show?
    @record.foo_id == @foo
  end
end
Run Code Online (Sandbox Code Playgroud)

我找不到将第二个参数传递给pundit方法(@foo)的好方法.

我想做点什么:

class BarsController < ApplicationController
  def test
    authorize bar, @foo, :show? # Throws ArgumentError
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

但Pundit授权方法只允许两个参数.有没有办法解决这个问题?

谢谢!

ruby-on-rails policies ruby-on-rails-4 pundit

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

展开圆的宽度

我是CSS3动画的新手,我想知道你如何做以下一个:我有一个循环:

CSS圈子

在悬停时,我想扩展圆圈的宽度,使其变成药丸形状,并带有如下图所示的过渡:

CSS扩展宽度的圆圈

这是我试过的.问题是当宽度扩展时,圆会过渡到椭圆:

.logo {
  background: red;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  transition: width 2s;
}

.logo:hover {
  width: 300px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="logo"></div>
Run Code Online (Sandbox Code Playgroud)

css css3 css-transitions css-animations css-shapes

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

如何使用ML.NET预测整数值?

我在这里查看cs文件:https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet/get-started/windows,一切正常.

现在我想改进一下这个例子:我想预测一个只有数字的数据集而不是数字字符串数据集,例如预测七段显示的输出.

这是我的超级简单数据集,最后一列是我想要预测的int数:

1,0,1,1,1,1,1,0
0,0,0,0,0,1,1,1
1,1,1,0,1,1,0,2
1,1,1,0,0,1,1,3
0,1,0,1,0,1,1,4
1,1,1,1,0,0,1,5
1,1,1,1,1,0,1,6
1,0,0,0,0,1,1,7
1,1,1,1,1,1,1,8
1,1,1,1,0,1,1,9
Run Code Online (Sandbox Code Playgroud)

这是我的测试代码:

public class Digit
{
    [Column("0")] public float Up;

    [Column("1")] public float Middle;

    [Column("2")] public float Bottom;

    [Column("3")] public float UpLeft;
    [Column("4")] public float BottomLeft;
    [Column("5")] public float TopRight;
    [Column("6")] public float BottomRight;

    [Column("7")] [ColumnName("DigitValue")]
    public float DigitValue;
}

public class DigitPrediction
{
    [ColumnName("PredictedDigits")] public float PredictedDigits;
}

public PredictDigit()
{
    var pipeline = new LearningPipeline();
    var dataPath = Path.Combine("Segmenti", "segments.txt");
    pipeline.Add(new TextLoader<Digit>(dataPath, …
Run Code Online (Sandbox Code Playgroud)

c# machine-learning ml.net

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

Arduino LCD 不工作

我对我的第一个 LCD 示例感到很疯狂。
我使用 Arduino Uno,我想用最简单的例子来尝试 LCD 屏幕:Hello World LiquidCrystal 例子。
我以与上面示例相同的方式连接引脚,但 LCD 首先在第一行显示 16 个“倒置空格”,而在第二行没有显示。
这是我的代码(与示例完全相同):

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
    lcd.begin(16, 2);
    lcd.print("hello, world!");
 }

void loop() {
    lcd.setCursor(0, 1);
    lcd.print(millis()/1000);
}
Run Code Online (Sandbox Code Playgroud)

有人知道这个问题吗?

lcd arduino

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

如何并行安装/编译 pip 要求(make -j 等效)

我有很多包要安装在我的 pip 要求中,我想并行处理它们。

我知道,例如,如果我想要n并行作业,make我必须编写make -j n;是否有针对 pip 要求的等效命令?

谢谢!

python parallel-processing pip

6
推荐指数
2
解决办法
2386
查看次数

如果routine_definition 大于4000 个字符,则获取存储过程裁剪结果的SQL 查询

我使用此查询获取数据库中的所有存储过程(我使用的是 Microsoft SQL Server 2008):

 SELECT
     SPECIFIC_NAME, ROUTINE_DEFINITION
 FROM 
     INFORMATION_SCHEMA.ROUTINES
Run Code Online (Sandbox Code Playgroud)

对于几乎所有结果,一切正常,但对于很长ROUTINE_DEFINITION的行,结果被裁剪。

你知道如何解决吗?

sql sql-server

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

将动态对象传递给 .NET 6 中的自定义内插字符串处理程序时出现无效实例化异常

我在我的记录器方法中发现升级到 .NET 6 时出现问题LogErrorInterpolatedStringHandler

这是经典的方法:

public static void Log(string message, params object[] pars)
{
    // Log message
}
Run Code Online (Sandbox Code Playgroud)

这是升级后的:

public static void Log(ref LogErrorInterpolatedStringHandler message, params object[] pars)
{
    // Log message
}
Run Code Online (Sandbox Code Playgroud)

我升级了该方法,以获得此处描述的 C# 10 和 .NET 6 的性能改进。

该方法的新版本运行良好,除非dynamic在插值字符串中传递对象时。

这是一个例子:

// Works well   
Logger.Log($"Log: {stringOrEverythingElseObject}");

// Exception
Logger.Log($"Log: {dynamicObject}");
Run Code Online (Sandbox Code Playgroud)

抛出的异常是

通用类型“<>A{00000004}`3”在程序集“MyAssembly,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”中使用了无效实例化。

我发现了一个与我的问题类似的拉取请求,但无法理解如何在我的代码中修复。

你有什么主意吗?谢谢!

c# string-interpolation .net-6.0 c#-10.0

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

如果同一位置的所有数组元素都为真,则如何获得

我正在使用n个布尔数组,如下所示:

A  = [1, 1, 0, 1]
A1 = [0, 1, 0, 1]
A2 = [0, 1, 0, 0]

B  = [1, 1, 0, 1]
B1 = [0, 0, 0, 1]
B2 = [0, 1, 0, 0]
Run Code Online (Sandbox Code Playgroud)

我正在处理一个函数,如果存在至少一 1 ,则返回true (例如,在三个A数组中,我将得到真的因为A[1] = A1[1] = A2[1] = true)在B数组中,我将得到假.

我知道我可以创建一个结果布尔数组并获得带循环的输出,但我问是否有一种更优雅的方法来获得这个结果而不使用太多的循环.

c# arrays loops for-loop boolean

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

Python 检查字符串是否包含字典键

我有这些字符串:

>>> a="foo"
>>> b="foo_KEY"
Run Code Online (Sandbox Code Playgroud)

还有一个像这样的字典:

>>> DICT
{
'KEY': ['...'],
'KEY2': ['...', '...'],
...
}
Run Code Online (Sandbox Code Playgroud)

我想构建一个函数来检查测试值是否在输入字典的任何键中:

>>> has_key(a, DICT)
False
>>> has_key(b, DICT)
True
Run Code Online (Sandbox Code Playgroud)

在 Python 3 中完成这项任务的最优雅的方法是什么?

python string dictionary find python-3.x

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