问题列表 - 第10476页

语法检查或"编译"Ruby on Rails应用程序

我是Ruby的新手,最近遇到了一个与创建Ruby on Rails应用程序时的值相比较的问题.在控制器中,我有以下语句总是返回false:

if (user.id != params[:id])
Run Code Online (Sandbox Code Playgroud)

问题是user.id(它是一个Active Record)是一个整数,params [:id]是一个字符串.我花了一段时间来弄清楚这一点,最后我把它改为:

if (user.id != params[:id].to_i)
Run Code Online (Sandbox Code Playgroud)

现在该声明按预期工作.

为了避免将来出现这种错误,有没有办法"编译"或让Ruby在你尝试比较2种不同的类型时发出警告?我遇到的其他一些我想要"编译检查"的问题是:

  • 如果我创建变量但不使用它,请警告我.帮助检查变量名称中的拼写错误.
  • 确保一个方法存在于一个类中,这样我就可以避免方法名称拼写错误,也可以帮助重构,例如,如果我重命名一个方法.

我目前正在Windows上使用带有Rails 2.3.2和RadRails IDE的Ruby 1.8.6-27 RC2.

ruby compilation ruby-on-rails syntax-checking

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

jQuery - 使用canvas在div之间绘制线条

我有n <div> s,每个都有<h1>标题和<ul>项目列表.

我想将它们放在画布上,然后从<div id="x">列表项y到<div id="z"> 绘制线条.我正在使用jQuery UI来实现<div> s draggable.

canvas元素是页面的一部分(文本的一段和一些表单元素在它之前)但是我可以在必要时更改它.

[编辑]

我用图表标记了这个问题,但是让我添加这个链接:Graph_(数学) :-)

javascript jquery canvas graph

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

如何从字符串中获取第一个x字符,而不切断最后一个字?

我在变量中有以下字符串.

Stack Overflow is as frictionless and painless to use as we could make it.

我想从上面的行中获取前28个字符,所以通常如果我使用substr然后它会给我Stack Overflow is as frictio这个输出,但我想输出为:

Stack Overflow is as...

PHP中是否有任何预制函数可以这样做,或者请在PHP中为我提供此代码?

编辑:

我想要从字符串中总共28个字符而不会破坏一个单词,如果它会让我少于28个字符而不会破坏一个单词,那很好.

php string substr

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

如何在javascript(jQuery)中分配迭代数组的事件回调

我正在通过javascript生成一个无序列表(使用jQuery).每个listitem必须为"click"事件接收自己的事件监听器.但是,我无法将正确的回调附加到正确的项目上.(剥离的)代码示例可能会略微清楚:

for(class_id in classes) {
    callback = function() { this.selectClass(class_id) };
    li_item = jQuery('<li></li>')
                .click(callback);
}
Run Code Online (Sandbox Code Playgroud)

实际上,这次迭代还有更多,但我认为这与问题无关.在任何情况下,发生的事情是回调函数似乎被引用而不是存储(和复制).最终结果?当用户点击任何列表中的项目,它将始终执行的动作最后 class_id的在classes阵,因为它使用存储在功能callback在说具体点.

我找到了肮脏的解决方法(比如href在封闭的a元素中解析属性),但我想知道是否有办法以"干净"的方式实现我的目标.如果我的方法令人恐惧,请说出来,只要你告诉我原因:-)谢谢!

javascript iteration jquery events

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

.NET/C#将IList <string>绑定到DataGridView

IList<string>从函数返回(作为变量lst)然后我设置然后我

this.dataGridView1.DataSource = lst;
Run Code Online (Sandbox Code Playgroud)

datagrid添加一个标记为Length的列,然后列出每个字符串的长度.如何让它只列出字符串?

.net c# data-binding ilist datagridview

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

mouseover和mouseenter事件有什么区别?

我一直使用这个mouseover事件,但在阅读我发现的jQuery文档时mouseenter.它们似乎完全相同.

这两者之间是否存在差异?如果是,我应该何时使用它们?
(也适用于mouseoutvs mouseleave).

javascript jquery events javascript-events

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

重定向C++ fstream

所以我有一个C++程序,通常在它执行时将事物写入日志文件.这是使用fstream完成的.但是,现在我想要包含关闭日志记录的功能.基本上,我的代码看起来像这样:

bool isLogging;
fstream* logFilePtr;
Run Code Online (Sandbox Code Playgroud)

在我的代码中,有一堆语句如:

(*logFilePtr) << "    Kernel call time in seconds: " << kTime << endl;
...
Run Code Online (Sandbox Code Playgroud)

现在,如果"isLogging"为真,我不希望这些打印.我可以用一堆if语句围绕它们,但我更喜欢比这更清洁的东西.我认为有一些方法可以采用C++流并将其重定向到"无",以便在使用<<运算符时,不会打印任何内容.

有谁知道如何重定向流,或有任何其他想法如何以优雅的方式处理这个?

谢谢,科林

c++ io fstream stream

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

强制数组的垃圾收集,C#

我有一个问题,其中一对三维数组分配了大量的内存,程序有时需要用更大/更小的替换它们并抛出OutOfMemoryException.

示例:有5个分配的96MB阵列(200x200x200,每个条目中有12个字节的数据),程序需要用210x210x210(111MB)替换它们.它以类似于此的方式执行:

array1 = new Vector3[210,210,210];
Run Code Online (Sandbox Code Playgroud)

其中array1-array5与先前使用的字段相同.这应该将旧数组设置为垃圾收集的候选者,但是看起来GC不能足够快地执行并且在分配新数组之前分配旧数组 - 这会导致OOM - 而如果它们在新分配之前释放,则空间应该是足够.

我正在寻找的是一种做这样的事情的方法:

GC.Collect(array1) // this would set the reference to null and free the memory
array1 = new Vector3[210,210,210];
Run Code Online (Sandbox Code Playgroud)

我不确定完整的垃圾收集是否是一个好主意,因为该代码可能(在某些情况下)需要经常执行.

有没有正确的方法呢?

c# arrays xna garbage-collection out-of-memory

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

将构建日期放在约框中

我有一个带有关于框的C#WinForms应用程序.我使用以下方法将版本号放在about框中:

FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location)
    .FileVersion
Run Code Online (Sandbox Code Playgroud)

这最终给了我构建可执行文件的Subversion修订版号.

我还想将构建日期放入"关于"框中.我试过了:

File.GetLastWriteTime(Assembly.GetEntryAssembly().Location)
Run Code Online (Sandbox Code Playgroud)

但是这给了我可执行文件的写日期,它只对应于安装应用程序的日期(我们使用的是ClickOnce)没有构建.

我怎样才能获得构建日期

c# version-control clickonce build-process assemblies

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

如何开始硬件接口编程?

我已经做了一段时间的桌面编程,但是想要开始与硬件接口.具体来说,我想学习如何使用串行端口来接收外部事件并提醒我的应用程序(例如,我可以在外部传感器检测到运动时打开相机).请告诉我如何开始使用,什么类型的传感器,什么书(或在线资源)可用.我尝试了Bing和谷歌,但我需要更多指针.

hardware

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