小编Dre*_*nmi的帖子

在MiniTest中assert_predicate有什么用?

我有一个问题,了解assert_predicateMiniTest 的用处.它与assert_equal?何时想要使用这个断言有什么不同?我已经多次遇到它,但并没有真正得到它的确切含义.

ruby minitest

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

如何组合两个块来简化我的代码?

嗨,我是学习Ruby的学生.我正在使用ruby-lang.org上快速入门指南,它有一些Ruby基础知识的例子.

我研究了这个MegaGreeter类,我试图弄清楚如何在同一个块中使用puts两个参数(nameage)each来简化我的代码.

我认为会有另一种方式.(使用常规循环代替each.)

  1. 计算数组的大小.

  2. 使用像C中的循环.

但我想使用each循环.以下是我的代码:

class MegaGreeter
    attr_accessor :name
    attr_accessor :age

    #Creat the object
    def initialize(name=nil, age=0)
        @name = name
        @age = age
        @tmp = Array.new()
        @i = 0
    end

    #Say hi to everybody
    def say_hi
        if @name.nil?
            puts "please give me the input !!"
        elsif @name.respond_to?("each")
            #list responding
            @name.each do |name|
                @tmp[@i] = "hi ~! #{name}"
                @i += 1
            end …
Run Code Online (Sandbox Code Playgroud)

ruby

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

在FabricJS中绘制后无法选择对象

我想在画布上自由绘制矩形.

这是我的JSFiddle.

码:

var canvas1 = new fabric.Canvas("canvas2");
var freeDrawing = true;
var divPos = {};
var offset = $("#canvas2").offset();
$(document).mousemove(function(e) {
    divPos = {
        left : e.pageX - offset.left,
        top : e.pageY - offset.top
    };
});
$('#2').click(function() {

    console.log("Button 2 cilcked");

    // Declaring the variables
    var isMouseDown = false;
    var refRect;

    // Setting the mouse events
    canvas1.on('mouse:down', function(event) {
        // Defining the procedure
        isMouseDown = true;
        // Getting yhe mouse Co-ordinates
        // Creating the rectangle object
        if …
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5-canvas fabricjs

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

使用Devise时未定义的方法confirmed_at

尝试使用:confirmableDevise模块时出现以下错误:

NameError (undefined local variable or method `confirmed_at' for #<AdminUser:0x007f27841d0f30>)
Run Code Online (Sandbox Code Playgroud)

我的模特:

class AdminUser < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable,:recoverable, :rememberable, :trackable, :validatable, :confirmable

  after_create { |admin| admin.send_reset_password_instructions }
  def password_required?
    new_record? ? false : super
  end
end
Run Code Online (Sandbox Code Playgroud)

我想在AdminUser创建时发送确认电子邮件.

ruby ruby-on-rails devise devise-confirmable

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

将元素插入新数组然后从旧数组中删除,一些元素被忽略

我正在尝试从a中删除最小和最大元素对Array,并将它们存储在第二个元素中.有没有更好的方法来做这个或我不知道的Ruby方法可以实现这样的事情?

这是我的代码:

nums = [1, 2, 3, 4, 5, 6]
pairs = []; for n in nums
  pairs << [n, nums.last]
  nums.delete nums.last
  nums.delete n
end
Run Code Online (Sandbox Code Playgroud)

目前的结果:

nums
#=> [2, 4]
pairs
#=> [[1, 6], [3, 5]]
Run Code Online (Sandbox Code Playgroud)

预期结果:

nums
#=> []
pairs
#=> [[1, 6], [2, 5], [3, 4]]
Run Code Online (Sandbox Code Playgroud)

ruby arrays

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

为什么更改条件的顺序会破坏我的代码?

我在Ruby中创建了一个乒乓球测试.它Fixnum使用一种新方法修补类ping_pong,它在一个范围内循环(0..self),检查每个元素的一些条件,并构造一个结果数组.

所得阵列将具有Ping用于在由整除范围内的数3,Pong用于通过整除数5,和Ping-Pong用于数字整除两者.

我现在的问题是,为什么代码只适用于以下部分:

elsif (num.%(3) == 0) && (num.%(5) == 0) array.push("Ping-Pong")
Run Code Online (Sandbox Code Playgroud)

领先于其他elsif声明?我尝试将它放在另一个之后,elsif但它没有用.

这是我的代码:

class Fixnum
  define_method(:ping_pong) do
    array = [0]
    total = (0..self)
    total = total.to_a
    total.each() do |num|
      if (num == 0)
        array.push(num)
      elsif (num.%(3) == 0) && (num.%(5) == 0)
        array.push("Ping-Pong")
      elsif (num.%(3) == 0)
        array.push("Ping")
      elsif (num.%(5) == 0)
        array.push("Pong")
      else
        array.push(num)
      end
    end
    array
  end …
Run Code Online (Sandbox Code Playgroud)

ruby

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

二次根函数中的数学域错误

我的代码:

def root1(a,b,c):
    return (-b+sqrt((b**2)-4*a*c))/2*a
def root2(a,b,c):
    return (-b-sqrt((b**2)-4*a*c))/2*a
Run Code Online (Sandbox Code Playgroud)

我得到了ValueError: math domain error,我无法弄清楚为什么.

python python-3.x

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

调用delete()会导致服务器错误

为什么我delete()在Silverstripe中导致服务器错误?以下是代码:

$product = Product::create();
$product = Product::get()->filter(array('Price' => 26.32));
$product->delete();     
Run Code Online (Sandbox Code Playgroud)

以上是在requireDefaultRecords()/ dev/build?flush中运行的

php silverstripe

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

nil的未定义方法`ljust':NilClass(NoMethodError)

我正在学习Ruby,最近完成了一个创建目录的任务.但是,代码可以在代码结束时发生以下错误:

table_of_contents2.rb:23:in `<main>': undefined method `ljust' for nil:NilClass (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

我仔细检查过该大纲变量不是nil做一个puts outlinewhile循环中,并试图改变outline变量@outline$outline整个代码,但这个错误一直坚持着.

完整代码如下:

lineWidth = 40

chapters = ["Chapter 1: Numbers", "Chapter 2: Letters",
          "Chapter 3: Variables"]
pages = ["page 1","page 72","page 118"]

puts "Table of Contents".center lineWidth


outline = []

i = 0

while i < 3
  outline.push(chapters[i])
  outline.push(pages[i])
  i = i + 1
end

j = 0

while j <= outline.length
  puts outline[j].ljust(lineWidth/2) +
  outline[j+1].rjust(lineWidth/2)
  j = j + …
Run Code Online (Sandbox Code Playgroud)

ruby

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

来自font-awesome的字体文件有什么用?

我正在使用font-awesome它并且它的CSS文件的CDN扩展正常工作.以下是一个简单的例子:

<html>
    <head>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.css">
    </head>
    <body>
        <i class="fa fa-adjust"></i>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

该示例运行正常,但在CDN,我也得到了链接.otf,.eot,.svg,.ttf,.woff文件.如果示例只使用.css文件扩展名渲染,这些文件有什么用?

html javascript css fonts font-awesome

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

仅打印数组中的偶数

我正在通过Ruby教程进行工作。问题之一提供了一个数组。然后,您必须:

“编写一个仅放置。的偶数的循环my_array(如果使用单行,则奖励点if!)”

我的答案通过了测试,但显示语法错误,我的答案是下面的if语句。有人可以解释为什么我得到语法错误吗?

my_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

if my_array.each do |x| % 2 == 0 puts X
Run Code Online (Sandbox Code Playgroud)

ruby

0
推荐指数
2
解决办法
5834
查看次数