我想在我的函数中重用标准库ParseIntError。但是,我自己实现了输入字符串的解析,因此不需要返回标准库返回的错误值。
我没有找到构建价值的方法ParseIntError。我找到的唯一解决方案如下所示:
use std::num::ParseIntError;
fn from_str_radix(s: &str, radix: u32) -> Result<(), ParseIntError> {
let error_empty = "".parse::<i32>().expect_err("get empty input error");
let error_invalid_digit = "Z".parse::<i32>().expect_err("get invalid digit error");
if s.is_empty() {
return Err(error_empty);
}
for c in s.chars().rev() {
match c.to_digit(radix) {
None => return Err(error_invalid_digit),
_ => unimplemented!(),
}
}
Ok(())
}
Run Code Online (Sandbox Code Playgroud)
ParseIntError有没有更优雅的方式从我自己的代码返回?
作为一名非C#精明的程序员,我很好奇LINQ查询的评估语义,如下所示:
var people = from p in Person
where p.age < 18
select p
var otherPeople = from p in people
where p.firstName equals "Daniel"
select p
Run Code Online (Sandbox Code Playgroud)
假设这Person是一个定义age和firstName字段的ADO实体,从数据库的角度来看,它会做什么?具体来说,是否people运行查询以生成内存结构,然后查询将otherPeople查询该结构?或者构建otherPeople只是从中提取有关查询的数据people,然后生成一个新的数据库对等查询?那么,如果我遍历这两个查询,那么将执行多少个SQL语句?
我正在尝试遍历包含大量PHP文件的目录,并检测每个文件中定义的类.
考虑以下:
$php_files_and_content = new PhpFileAndContentIterator($dir);
foreach($php_files_and_content as $filepath => $sourceCode) {
// echo $filepath, $sourceCode
}
Run Code Online (Sandbox Code Playgroud)
上面的$php_files_and_content变量表示一个迭代器,其中键是文件路径,内容是文件的源代码(就好像从示例中看不出来的那样).
然后将其提供给另一个迭代器,它将匹配源代码中的所有已定义的类,ala:
class DefinedClassDetector extends FilterIterator implements RecursiveIterator {
public function accept() {
return $this->hasChildren();
}
public function hasChildren() {
$classes = getDefinedClasses($this->current());
return !empty($classes);
}
public function getChildren() {
return new RecursiveArrayIterator(getDefinedClasses($this->current()));
}
}
$defined_classes = new RecursiveIteratorIterator(new DefinedClassDetector($php_files_and_content));
foreach($defined_classes as $index => $class) {
// print "$index => $class"; outputs:
// 0 => Class A
// 1 => Class …Run Code Online (Sandbox Code Playgroud) 使用源代码控制在许多项目中共享公共视图是一个很好的解决方案.但是我有几个问题,特别是Subversion我认为.
Subversion Externals允许您在工作副本中包含来自单独存储库的文件夹,因此您可以在工作副本根目录上定义添加文件夹的"外部"属性:[/ Web/Views/Forum].
这个阶段的答案是"等待MVC2",因为我认为这种情况更好吗?
谢谢,GC
我认为拥有可重复使用的代码会很方便,特别是对于导航栏,因为它在我的所有页面中都是相同的.这样,我就不必浏览每个页面,并在发生更改时单独手动编辑每个页面.
似乎可以使用iframe,但我尝试了它,整个页面样式都没有出现问题.我可以解决它,但我想知道是否有类似的东西.
如果像这样的东西可以工作,那将是很棒的:
var navbar = document.getElementById('navbar');
navbar.innerHtml = url('navigation.txt');
我目前正在我的网站上离线工作,所以我认为我不能发出xmlhttp请求.正确?至少我还没有得到任何ajax示例.这很不幸,因为我觉得我可以轻松地将它用于我的应用程序.
这是我的导航栏标记.这不是很复杂,所以我有一种感觉,我最后会手动编辑它.
<nav>
<ul id="navbar">
<li><a href="biosketch.html">Biosketch</a></li>
<li><a href="projects.html">Class Projects</a>
<ul>
<li><a href="projects.html#SeniorProject">Senior Project</a></li>
<li><a href="projects.html#WindTurbine">Wind Turbine</a></li>
</ul>
</li>
<li><a href="#">Resume</a></li>
<li><a href="#">Work Experience</a></li>
<li><a href="#">Contact Me</a></li>
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud) 我有一个用C#编写的现有库,它包含一个更低级别的TCP/IP API,并将来自服务器(专有二进制协议)的消息作为.NET事件公开.我还在一个对象上提供方法调用,该对象处理将方便的.NET类型(如System.DateTime)编组到API所需的二进制编码和固定长度结构(用于传递到服务器的消息)的复杂性.在这个.NET库之上构建了相当数量的现有应用程序(内部和第三方使用).
最近,我们已经找到了一个不想自己完成抽象TCP/IP的所有工作的人,但他们的环境严格来说不是Windows(我假设是*nix,但我不是100%肯定)他们已经暗示他们的理想是可以从Java调用的东西.
什么是支持他们要求的最佳方式,我不必:
我考虑过的一件事是将大部分核心TCP/IP功能重写为更多跨平台(C/C++),然后将我的.NET库更改为一个薄层(P /调用?),然后在它上面写一个类似的瘦Java层(JNI?).
优点:
缺点:
我简要考虑的另一个选择是以某种方式将Mono绑定到Java,以便我可以利用我已有的所有现有C#代码.尽管开发人员的体验对于那些不得不使用它的Java开发人员来说有多顺畅,但我并不太了解.我很确定大多数代码应该在Mono下运行没有问题(禁止解压缩P/Invoke,它应该只是移植到C#).
我理想情况下不想在我的代码和客户端Java应用程序之间添加另一层TCP/IP,管道等,如果我可以帮助它(因此WCF到Java端的WS-DeathStar可能已经出局).我从来没有用Java做过任何认真的开发,但我感到自豪的是,这个库目前是第三方开发人员整合到他的应用程序中的一块蛋糕(只要他当然运行.NET: )),我希望能够为任何想要相同体验的Java开发人员保持同样的易用性.
因此,如果有人对我提出的3个选项有意见(端口到Java并维护两次,移植到C并为.NET和Java编写瘦语言绑定,或者尝试集成Java和Mono),或者任何其他建议我'我喜欢听他们说话.
谢谢
编辑:在与客户的开发人员直接对话(即删除破碎的电话AKA销售部门)后,要求已经发生了很大变化,以至于这个问题不再适用于我的直接情况.但是,我会把问题保持开放,希望能够产生更好的建议.
在我的特定情况下,客户端实际上除了Solaris之外还运行Windows机器(现在还没有?)并且很高兴我们在库顶部编写应用程序(Windows服务)并提供更简化和更小的应用程序用于编码的TCP/IP API.我们将他们的简单消息转换为下游系统理解的格式,并将传入的响应转换回来供他们使用,以便他们可以通过他们的Java应用程序继续与这个下游系统连接.
在考虑了几周之后再回到原来的情景,我还有一些评论:
如果您事先知道需要支持多种语言/平台,那么可能是一种基于C语言的可移植库,其中包含不同的语言绑定.
在*nix上,单个进程可以同时托管Java运行时和Mono运行时吗?我知道在早期版本的.NET中你不能在同一个进程中有两个不同的.NET运行时,但我相信他们已经用.NET 4解决了这个问题?如果可能的话,两者之间如何沟通?理想情况下,您需要像静态方法调用这样简单的事情以及用于提升响应的委托.
如果Java和Mono(方法和委托等)之间没有简单的直接接口支持,可以考虑使用ZeroMQ和Protocol Buffers或Apache Thrift作为消息格式.由于ZeroMQ支持不同的传输,因此可以在进程内,进程间和网络上工作.
可以说我有我的Flask应用程序的一部分,我想撤出并在多个不同的项目中使用.它具有使用Flask-SQLAlchemy的SQLAlchemy模型,以及视图和模板.我可以使用Module获取app.route装饰器,但是如何处理SQLAlchemy db对象?
由于我的组件需要分开,我不能只导入db对象.但我认为我不应该两次创建db对象.我如何将其元数据与项目其余部分中的元数据混合在一起?
在我的Rails 3应用程序,我有一个RSpec的规范,检查某一领域(的行为角色的用户模型),以保证该值有效值的列表中.
现在,我将为另一个字段提供完全相同的规范,在另一个具有另一组有效值的模型中.我想提取公共代码,而不是仅仅复制和粘贴它,更改变量.
我想知道是否会使用共享示例或其他RSpec重用技术.
这是相关的RSpec代码:
describe "validation" do
describe "#role" do
context "with a valid role value" do
it "is valid" do
User::ROLES.each do |role|
build(:user, :role => role).should be_valid
end
end
end
context "with an empty role" do
subject { build(:user, :role => nil) }
it "is invalid" do
subject.should_not be_valid
end
it "adds an error message for the role" do
subject.save.should be_false
subject.errors.messages[:role].first.should == "can't be blank"
end
end
context "with an …Run Code Online (Sandbox Code Playgroud) 我试图在rails控制器规范中重用一些常用代码.对于管理员用户和普通用户,我有不同的上下文.但是,对于特定操作,大部分行为都是相同的,所以我尝试将该常见行为拉出到辅助函数中:
describe SomeController do
def common_get_new
# common stuff
end
context "regular users" do
describe "GET new" do
common_get_new
end
end
context "admin users" do
describe "GET new" do
common_get_new
end
end
end
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
undefined局部变量或方法`common_get_new'
我究竟做错了什么?
我正在CakePHP中开发一个Web社区,并开始怀疑使用jQuery在需要时围绕视图提供有用的小部件.
例如,我编写了一个jQuery插件,用于搜索特定输入文本中的数据,询问我的数据库并获取使用事件处理的结果.
基本上这个插件对于简单的应用程序来说是完美的,但它对于我几乎在所有视图中使用它的社区基本无用,并且每次使用不同的事件和方法处理它,使其具有巨大的事件声明并且非常烦人地被调试.
我想通过使用窗口小部件中的默认事件来解决问题,并添加特定于视图的附加事件的可能性,但我该怎么做?
这是我想的情况

图像的绿色区域是我不确定的地方,我应该在每次需要时将默认事件放回原处?知道之后,在视图中,我可以向窗口小部件添加一些事件,以便更容易使用.
对于小部件,我打算通过javascript加载每种类型的html部分并且是交互式的,也许是输入搜索,它检索结果列表或类似的东西.
我的问题是如何在运行时将默认事件设置为窗口小部件,而不是每次都进行复制和粘贴?我的第二个问题是,如何才能为视图添加特定事件?
某些在线教程也很好.
code-reuse ×10
javascript ×2
rspec ×2
.net ×1
asp.net-mvc ×1
cakephp ×1
flask ×1
html ×1
iterator ×1
java ×1
jquery ×1
linq ×1
linq-to-sql ×1
navigation ×1
php ×1
porting ×1
recursion ×1
rust ×1
sql ×1
sqlalchemy ×1
svn ×1
views ×1