我有一个返回过去x天的方法,它目前执行以下操作:
var dates = new List<DateTime>();
for (int i = 0; i < numDays; i++)
{
dates.Add(DateTime.Today.AddDays(-i));
}
return dates;
Run Code Online (Sandbox Code Playgroud)
我觉得应该有一个更紧凑的方式来做这个,也许使用LINQ.建议?另外,如果我按照我的方式保留它,那么如果我将它DateTime.Today
存储在循环外的变量中然后在循环中调用AddDays
该值,那么这将更有效吗?
编辑: LINQ使用懒惰评估,对吧?我的头脑中有疯狂的图像:
return DateTime.AllDaysInTheHistoryOfTimeEver.Where(day =>
day.BeforeOrOn(DateTime.Today) &&
day.After(DateTime.Today.AddDays(-numDays))
);
Run Code Online (Sandbox Code Playgroud) 我想从标题下的linq查询中对项目进行分组,这样对于每个标题,我都有一个与标题标题匹配的对象列表.我假设解决方案是使用ToDictionary来转换对象,但是每个"group"(或字典键)只允许一个对象.我假设我可以创建类型字典(String,List Of()),但我无法弄清楚如何编写它.
作为一个例子,我在下面写了一个简化版本.
Public Class order
Public ID As Integer
Public Name As String
Public DateStamp As Date
End Class
Public Function GetOrdersSortedByDate() As Generic.Dictionary(Of String, Generic.List(Of User))
Dim orders As New List(Of order)(New order() _
{New order With _
{.ID = 1, .Name = "Marble", .DateStamp = New Date(2010, 1, 1)}, _
New order With _
{.ID = 2, .Name = "Marble", .DateStamp = New Date(2010, 5, 1)}, _
New order With _
{.ID = 3, .Name = "Glass", …
Run Code Online (Sandbox Code Playgroud) 看看SO,我看到使用RoR货币的首选方法是使用decimal(8,2)并使用number_to_currency()输出它们;
我可以从数据库中获取我的数据,但是我遇到了让它们进入的问题.
在我的更新操作中,我有以下行:
if @non_labor_expense.update_attributes(params[:non_labor_expense])
puts YAML::dump(params)
Run Code Online (Sandbox Code Playgroud)
转移参数显示正确的值.xx,yyy.zz,但存储在数据库中的内容仅为xx.00
我需要做些什么才能考虑到可能有逗号而用户可能无法输入.zz(分数).一些正则表达式和逗号?如果是.2与.20,你将如何处理小数?
必须有内置或至少更好的方式.
我的迁移(我不知道这是否有帮助):
class ChangeExpenseToDec < ActiveRecord::Migration
def self.up
change_column :non_labor_expenses, :amount, :decimal, :precision => 8, :scale => 2
end
def self.down
change_column :non_labor_expenses, :amount, :integer
end
end
Run Code Online (Sandbox Code Playgroud) 我是一名软件开发人员.我已经用高级语言编程了几年.
我想知道,如何迈出编程硬件的第一步.不是疯狂复杂的东西,但也许是一些普通的CE设备?假设我不需要将PCB与各种组件放在一起,而只是为了编写微小的CPU?
我有多低级别?ASM?C?操纵寄存器?或者开发工具包现在相当高水平?Java甚至在图片中吗?硬件中的OO编码,甚至是梦想还是现实?需要现实检查.
我也倾向于使用以教程格式编写的书籍或网站更好地学习.能指引我从简单到复杂的东西的东西.有什么建议?也许会介绍我今天流行的硬件(微处理器/微控制器)的东西?
非常感谢,谢谢大家.
我正在尝试为一些测试自动化工作开发图像聚焦算法.我选择使用AForge.net,因为它看起来像一个很好的成熟.net友好系统.
不幸的是,我似乎无法从头开始找到有关构建自动对焦算法的信息,所以我给了它最好的尝试:
拍照.应用sobel边缘检测滤波器,生成灰度边缘轮廓.生成直方图并保存标准开发.将相机移近主体一步并拍摄另一张照片.如果标准开发小于前一个,我们将获得更多关注.否则,我们已经超过拍摄照片的最佳距离.
有没有更好的办法?
更新:顺便说一下,这有很大的缺陷.当我超越最佳焦点时,我的"焦点图像"价值继续增长.你期望一个抛物线函数看距离/焦点值,但实际上你会得到一些更对数的东西
更新2:好的,所以我回到了这个,我们正在探索的当前方法给出了一些已知的边缘(好吧,所以我确切地知道图片中的对象是什么),我做了一个手动像素强度比较.随着结果图变得越来越陡峭,我得到了更多关注.一旦核心算法从matlab移植到c#(是的,matlab ..:S),我就会发布代码
更新3:yay最终更新.再次回到这里.最终的代码如下所示:
第1步:从图像列表中获取图像(我通过聚焦点拍摄了一百张照片)
第2步:找到我正在聚焦的物体的边缘(在我的情况下,它是一个总是在同一个地方的矩形物体,所以我裁剪出一个边缘的HIGH和NARROW矩形)
第3步:获取该裁剪图像的HorizontalIntensityStatistics(Aforge.net类).
第4步:获取直方图(灰色,在我的情况下)
步骤5:找到直方图值的导数
第6步:当你的坡度最大时,就是你处于最关注点的时候.
对于我的一个软件包,我有一个README.rst文件,它被读入setup.py的长描述中,如下所示:
readme = open('README.rst', 'r')
README_TEXT = readme.read()
readme.close()
setup(
...
long_description = README_TEXT,
....
)
Run Code Online (Sandbox Code Playgroud)
这样一来,我可以有README文件出现在我的github上页每一次我犯和时间的PyPI页每次我python setup.py register
.只有一个问题.我想在github页面上说"这篇文档反映了envbuilder的预发布版本.对于最新版本,请参阅pypi."
我可以把这些行放在README.rst中并在我之前删除它们python setup.py register
,但我知道在推到pypi之前我会忘记删除句子.
我正在尝试考虑自动化的最佳方法,所以我不必担心它.有人有主意吗?我可以做任何setuptools/distutils魔法吗?
假设我已经在类中声明了下标运算符
char& operator[] (int index);
const char operator[](int index) const;
在什么条件下调用第二个重载.它只是通过一个叫做const object
.
在以下场景中将调用哪个版本的运算符.
const char res1 = nonConstObject[10];
nonConstObject[10];
Run Code Online (Sandbox Code Playgroud) 我在PHP中有一个小站点(无论如何,这是更动态的静态).我看到多个网站发布RSS通量或其他名称.
我想知道是否有可能加载这样的RSS通量,按网站关键字主题过滤它,并使用PHP显示它像一个小主题新闻列.
这个任务很复杂吗?我该怎么办?我是这个领域的全新人,很抱歉,如果已经回答了这样的问题.
我试图在我的JFrame上显示两张图片,我发现的方式是使用图标和JLabel,这看起来很简单,我没有遇到这个问题.但是当谈到定位图像时,我无法让它工作.我在Linux机器上因此是转发式的.我在我的项目中创建了一个名为pics的文件夹,名为399assig1.
ImageIcon icon1 = createImageIcon("/home/dsk03/ugrad/jeanbern/workspace/C291/workspace/399assig1/pics/fur-05.jpg","First");
this.label1 = new JLabel("Picture 1", icon1, JLabel.CENTER);
ImageIcon icon2 = createImageIcon("pics/fur.png","Second");
this.label2 = new JLabel("Picture 2", icon2, JLabel.CENTER);
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
Couldn't find file: /home/dsk03/ugrad/jeanbern/workspace/C291/workspace/399assig1/pics/fur-05.jpg
Couldn't find file: pics/fur.png
Run Code Online (Sandbox Code Playgroud) 我想在OpenGL中使用alpha蒙版,以便白色(1)=可见,黑色(0)=隐藏.
所以我要做的是在framebuffer的alpha组件中使用glColorMask(False, False, False, True)
(我正在使用python,你看),然后使用混合在它上面绘制一些几何体.
但它不起作用:我尝试用0填充alpha缓冲区,然后绘制一些因此不可见的几何体.但它始终显示,alpha缓冲区被完全忽略.
# Clear alpha buffer to 0, and clear color buffer.
# After this, the alpha buffer should probaby be filled with 0.
glClearColor(0, 0, 0, 0)
glClear(GL_COLOR_BUFFER_BIT)
# Disable blending.
glDisable(GL_BLEND)
# Disable color writing.
glColorMask(False, False, False, True)
# Set color to a white with alpha 0.
glColor4f(1, 1, 1, 0)
# Now draw a fullscreen quad.
# After this, the alpha buffer should really be filled with 0.
# Shouldn't …
Run Code Online (Sandbox Code Playgroud)