我用一个块调用一个方法;
method do
"Hello"
end
Run Code Online (Sandbox Code Playgroud)
并且该方法被定义为;
def method
yield
end
Run Code Online (Sandbox Code Playgroud)
在定义方法时 ; 我想检查给定的块是否为空(零),因为方法中的变量可能会像这样结束;
method do
""
end
Run Code Online (Sandbox Code Playgroud)
所以在定义中,我想检查yield块是否为nil.喜欢;
def method
if yield ? yield : "Empty block? Seriously?"
end
Run Code Online (Sandbox Code Playgroud)
我知道上面的内容不起作用.这就是我想要实现的目标.
另请记住block_given?将始终为"true",因为即使它是nil或空字符串,也会给出块.
更新:由于大多数意见/答案都表明问题不明确; 这是@ndn简化的问题:
我想检查执行块的结果是否为"空"(nil或"")而不先调用它.
我使用 JavaScript 显示打印页面window.print()
,但与打印对话框相比,它显示不同的设计Ctrl + p
。
还有其他方法可以使用Ctrl + p
与中相同的设计来实现window.print()
吗?
我进行了很多搜索,但找不到解决方案。
我得到错误:
无法启用约束。一或多个行包含违反非null,唯一或外键约束的值。
我运行DataTable.GetErrors()
,发现Not NULL
在SQL Compact Edition数据库中将某些列设置为。这些列用于LEFT OUTER JOIN
查询中,因此在运行查询时它们为null。(当我在VS的Server Explorer中运行查询时,可以得到结果)。尝试在数据表中加载数据时发生错误:
using (SqlCeCommand Cmd = new SqlCeCommand("Query HERE", "Connection HERE"))
{
C.Open();
using (SqlCeDataReader Rdr = Cmd.ExecuteReader())
{
DataTable DT = new DataTable();
DT.Load(Rdr);
return DT;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了许多解决方案来克服此问题,但是我无法解决它。我知道“ EnforceConstraints”,但是由于我不使用任何数据集,因此无法更改该属性。