只有存在时才调用方法

有没有一些隐藏的Ruby / Rails的魔术只是简单地调用一个方法,如果它存在? 可以说我想打电话 resource.phone_number 但是我不知道资源是否响应phone_number 。 一个办法是做到这一点 resource.phone_number if resource.respond_to? :phone_number 如果在错误的地方使用,这并不是那么漂亮。 我很好奇,如果有什么东西存在,更符合如何使用try ( resource.try(:phone_number) )的路线。

在铁锈的生活时间

偶尔我发现自己想要编写可以通过以下两种方式调用的函数: // With a string literal: let lines = read_file_lines("data.txt"); // With a string pointer: let file_name = ~"data.txt"; let lines = read_file_lines(file_name); 我的第一个猜测是使用借用指针( &str )作为参数types,但是当它不工作(它只允许我使用@str和@str )时,我尝试了下面的方法(通过复制Rust库)哪些工作。 fn read_file_lines<'a>(path: &'a str) -> ~[~str] { let read_result = file_reader(~Path(path)); match read_result { Ok(file) => file.read_lines(), Err(e) => fail!(fmt!("Error reading file: %?", e)) } } 问题是我不明白我在做什么。 从我可以收集(主要是编译器错误),我声明一个没有限制的生命周期,并用它来描述path参数(意味着任何生命周期可以作为parameter […]

Android模拟器不旋转到风景

当我尝试切换模拟器的方向时, 模拟器窗口会旋转, 模拟器屏幕的方向将保持原样。 任何人都可以告诉我这是什么原因 ?我已经尝试了所有来自StackOverflow的答案,似乎没有任何帮助

Docker.io for Windows

我正在阅读关于docker的一个很好的问题 – 答案有docker的实现细节的概述。 我想知道是否有这样的事情可以在Windows平台上做。 Docker的替代品是否存在? 理论上可以使用其他(基于Windows)组件来构build它吗? 更新1 : 稍微相关的问题(沙盒): Windows平台是否有一个轻量级的可编程Sandbox API? Update2 :: 有关如何在Windows上安装docker(无关)的信息 – 官方文档对如何使用boot2docker虚拟机设置环境有很好的说明。

到$ routeProvider或$ stateProvider

我一直在寻找一个合理的答案来解决这个困境,以便提供者或不。 看起来好像$ routeProvider即将停止,并用$ stateProviderreplace,不幸的是,我不知道这个语句的准确性,加上stateProvider仍然只能通过ui_router插件使用。 是计划添加stateProvider作为AngularJS核心的一部分? 假设它将很快replace旧的$ routeProvider是否保存? 他们当然不能很好地协作,我在github中find的迁移configuration文件不起作用,缺less文档。

setTimeout是一个很好的解决scheme,使用JavaScript做asynchronous函数?

在网上search关于asynchronous函数,我发现许多使用setTimeout来完成这项工作的文章: window.setTimeout(function() { console.log("second"); }, 0); console.log("first"); 输出: first second 这是有效的,但是最好的做法是? 谢谢

C ++ 11智能指针语义

我已经使用了几年的指针,但是我最近才决定转换到C ++ 11的智能指针(即独特,共享和弱)。 我对它们做了一些相当的研究,这些是我绘制的结论: 独特的指针是伟大的。 他们pipe理自己的记忆,并像原始指针一样轻量级。 尽可能优先于原始指针的unique_ptr。 共享指针是复杂的。 由于引用计数,它们有很大的开销。 通过const引用传递它们,或者遗憾你的方法的错误。 他们不是邪恶的,但应该谨慎使用。 共享指针应该拥有自己的对象; 当不需要所有权时使用弱指针。 locking一个weak_ptr具有与shared_ptr拷贝构造函数相同的开销。 继续忽略auto_ptr的存在,现在已经废弃了。 所以,考虑到这些原则,我着手修改我的代码库,以利用我们新的shiny的智能指针,完全打算尽可能多地指明原始指针。 然而,我很困惑,关于如何最好地利用C ++ 11智能指针。 举个例子,假设我们正在devise一个简单的游戏。 我们决定将一个虚构的Texture数据types加载到一个TextureManager类中是最佳的。 这些纹理是复杂的,所以将它们按价值传递是不可行的。 此外,让我们假设游戏对象需要特定的纹理,取决于它们的对象types(即汽车,船等)。 在此之前,我会将纹理加载到一个向量(或者像unordered_map这样的其他容器)中,并在每个相应的游戏对象中存储指向这些纹理的指针,以便在需要渲染时可以引用它们。 我们假设纹理保证比他们的指针长。 那么我的问题就是如何在这种情况下最好地利用智能指针。 我看到几个选项: 将纹理直接存储在容器中,然后在每个游戏对象中构造一个unique_ptr。 class TextureManager { public: const Texture& texture(const std::string& key) const { return textures_.at(key); } private: std::unordered_map<std::string, Texture> textures_; }; class GameObject { public: void set_texture(const Texture& texture) […]

应用程序坚持从iTunes安装ipa

由于移动到ios7,我无法使用ipa和configuration文件(与升级到ios7之前工作的相同)将我的应用程序分发到我的iPad。 这是我曾经试过的: 从iPad上删除所有configuration文件 从iPad和iTunes中删除现有的应用程序 添加ipa和provconfiguration文件到iTunes 从iTunes重新安装应用程序 该应用程序安装在iPad上,说“安装”,直到它似乎已经加载,应用程序名称显示在图标下方。 然而,在iTunes中,它仍然说“安装”,从不改变“删除”。 如果我然后拔掉iPad,然后点击应用程序启动它恢复到“安装”,然后没有其他事情发生。

把你的favicon.ico文件放在非根path中是个好主意吗?

何时以及如何浏览器请求favicon.ico文件? 他们是否总是以root身份进行检查,或者他们是否首先阅读网页的内容以查看页面是否指定了位置? 我在/ images中有我的favicon.icopath每个页面都有以下标签: <link rel="shortcut icon" href="images/favicon.ico"> 当我在我的浏览器中加载页面,似乎工作(我可以看到该文件),但我不知道他们是否对我的根文件夹第一(不存在的地方),这是不好的请求,稍后向链接提出请求。 我想通过浏览器对我的网站进行不正确的调用来最小化404和浪费的带宽。 编辑:我正在寻找一些如何浏览器工作的见解,并要求这个文件,所以我的网站结构是有效的。

系统启动服务后,具体的服务

一般问题:一个特定的.service启动成功后,如何启动systemd .service? 具体问题:只有在mongodb.service启动后,如何启动website.service? 换句话说,website.service应该依赖于mongodb.service。