在Ruby中,有没有办法动态地将实例变量添加到类中?例如:
class MyClass
def initialize
create_attribute("name")
end
def create_attribute(name)
attr_accessor name.to_sym
end
end
o = MyClass.new
o.name = "Bob"
o.name
Run Code Online (Sandbox Code Playgroud) 我只是想在网站上嵌入一个PDF文件.
我发现的最佳解决方案是Google Docs Viewer(http://docs.google.com/viewer),但它不适用于IE,显然这对我不起作用.
任何人都有一个干净,简单的解决方案吗?
更新:我应该补充一点,谷歌查看器方式嵌入PDF文件的好处之一就是当我链接到的PDF文件得到更新时(它可以不经通知我),我的网站会自动持有相同的PDF文件(如果完整路径名没有改变,它不会改变).因此,不希望将文件转换为图像.
我正在针对返回 pdf 文件的控制器编写测试用例。
控制器代码:
public FileStreamResult GeneratePdfReport(string context)
{
byte[] pdfReportContents = _helpPageBusinessService.GetHelpPagesAsPdf();
Stream stream = new MemoryStream(pdfReportContents);
HttpContext.Response.AddHeader("content-disposition", "attachment; filename=GSFA_Help_Pages_Printout.pdf");
return new FileStreamResult(stream, "application/pdf");
}
Run Code Online (Sandbox Code Playgroud)
单元测试代码:
[TestMethod]
public void GeneratePdf()
{
var controller = new HelpController(_helpPageBusinessServiceReportServices, Logger);
try
{
var result = controller.GeneratePdfReport("Work_Request_Section");
Assert.IsNotNull(result);
Assert.IsNotNull(result.FileStream);
}
finally
{
controller.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
这个单元测试用例不起作用,它总是失败,因为 HttpContext 为空。
有没有人知道如何针对这种类型的控制器编写单元测试用例?
非常感激 !
杰弗里
我正在使用CFStreamCreatePairWithSocketToHost这样创建一个套接字tcp连接来获取写入流(我不想准备任何数据):
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)host, port, NULL, &writeStream);
Run Code Online (Sandbox Code Playgroud)
这很好用,但由于nagle的算法,我的tcp命令被缓冲了.这可能很酷,但在我的情况下,我需要尽快发送命令,没有任何延迟.
我找到了一种方法来禁用这个"功能"使用下面的代码发现这里:
int yes = 1;
setsockopt(CFSocketGetNative(aSocket), IPPROTO_TCP, TCP_NODELAY, (void *)&yes, sizeof(yes));
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何获得对我的套接字的有效引用.你能帮助我吗?
假设我有以下XML文件:
<?xml version="1.0" encoding="utf-8"?>
<venues>
<group type="Nearby">
<venue>
<id>222307</id>
<name>Union Chapel</name>
<primarycategory>
<id>78967</id>
<fullpathname>Arts & Entertainment:Music Venue</fullpathname>
<nodename>Music Venue</nodename>
<iconurl>http://foursquare.com/img/categories/arts_entertainment/musicvenue.png</iconurl>
</primarycategory>
<address>Compton Ave</address>
<city>Islington</city>
<state>Greater London</state>
<zip>N1 2XD</zip>
<verified>false</verified>
<geolat>51.5439732</geolat>
<geolong>-0.1020908</geolong>
<stats>
<herenow>0</herenow>
</stats>
<phone>02073594019</phone>
<distance>33</distance>
</venue>
Run Code Online (Sandbox Code Playgroud)
.............
我的代码如下:
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile("//venue/*");
Object result = expr.evaluate(document, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
//System.out.println(nodes.getLength());
Venue ven = new Venue();
for (int i = 0; i < nodes.getLength(); i++) {
String nodeName = …Run Code Online (Sandbox Code Playgroud) 这个说法:
$node_obj =& new someClass($somearg, $moreargs);
Run Code Online (Sandbox Code Playgroud)
在最新版本的PHP中生成错误对吗?
我在我的机器上尝试过它(PHP> = 5.0.0&<= 5.2.17)并且我收到此错误:
不推荐使用:在1108行的test.php中弃用了按引用分配new的返回值
我最终使用TeamCity设置来构建源代码控制更改,并使用单独的MSBuild任务设置,使用"package"目标和生成的"deploy.cmd"脚本打包并部署到登台服务器上的IIS.在构建事件,文件包含/排除等方面,一切都很完美......
但是,我遇到了如何部署软件包的问题.每当我将程序包部署到服务器时,IIS设置都会被吹走.例如,我可以设置缓存过期标头或打开静态压缩,在部署我的包后,它们将恢复为服务器的默认值.
有谁知道我怎么能解决这个问题?是否有我可以通过的参数或我可以忽略的规则?
任何人都可以告诉我为什么我不能从这个字符串"2010-11-01"获得正确的NSDate?
好吧,我刚刚发现了一种我从未见过的奇怪的行为,或者没有注意到.
我正在使用此查询:
SELECT *,
COUNT(*) AS pages
FROM notis
WHERE cid = 20
ORDER BY nid DESC
LIMIT 0, 3
Run Code Online (Sandbox Code Playgroud)
...阅读3个项目,但在这样做时我想得到总行数.
...当我使用count时,查询只返回一行,但是如果我删除
COUNT(*) AS pages- 我得到了3行,正如我想的那样.显然,我在这里遗漏了一些东西.
我需要用动画执行javascript方法scrollTo(x,y).我不能'使用jQuery来做到这一点.
iphone ×2
animation ×1
asp.net-mvc ×1
count ×1
deployment ×1
embed ×1
html ×1
iis ×1
java ×1
javascript ×1
limit ×1
msdeploy ×1
mysql ×1
nsdate ×1
objective-c ×1
pdf ×1
php ×1
ruby ×1
scrollto ×1
tcp ×1
unit-testing ×1
xpath ×1