interface ILol
{
void LOL();
}
class Rofl : ILol
{
void ILol.LOL()
{
GlobalLOLHandler.RaiseROFLCOPTER(this);
}
public Rofl()
{
//Is there shorter way of writing this or i is there "other" problem with implementation??
(this as ILol).LOL();
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下脚本标记,<head>以便在SSL和非SSL页面之间来回切换时不会出现任何安全错误.但它看起来很毛茸茸.
我可以用任何方式组合它们或减少一些代码吗?
<script type="text/javascript">document.write(["\<script src='",("https:" == document.location.protocol) ? "https://" : "http://","ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js' type='text/javascript'>\<\/script>"].join(''));</script>
<script type="text/javascript">document.write(["\<script src='",("https:" == document.location.protocol) ? "https://" : "http://","html5shiv.googlecode.com/svn/trunk/html5.js' type='text/javascript'>\<\/script>"].join(''));</script>
<script type="text/javascript">document.write(["\<script src='",("https:" == document.location.protocol) ? "https://" : "http://","use.typekit.com/12345.js' type='text/javascript'>\<\/script>"].join(''));</script>
Run Code Online (Sandbox Code Playgroud) 我正在寻找可以在Swing中用作GUI控制台的组件。
这有点像Eclipse中的“控制台”选项卡。
有没有好的图书馆可以提供这一点?
在Java中,我希望能够定义标记接口,强制实现提供静态方法.例如,对于简单的文本序列化/反序列化,我希望能够定义一个看起来像这样的接口:
public interface TextTransformable<T>{
public static T fromText(String text);
public String toText();
Run Code Online (Sandbox Code Playgroud)
由于Java中的接口不能包含静态方法(如许多其他帖子/线程中所述:此处,此处,此处此代码不起作用.
然而,我正在寻找的是表达相同意图的一些合理范例,即对称方法,其中一个是静态的,并由编译器强制执行.现在我们能想到的最好的是某种静态工厂对象或通用工厂,这两者都不是真正令人满意的.
注意:在我们的例子中,我们的主要用例是我们有许多很多"值对象"类型 - 枚举或其他具有有限数量值的对象,通常不会超出其值,并且我们解析/ de -parse数秒钟的时间,所以实际上关心重用实例(如Float,Integer等)及其对内存消耗的影响/ gc
有什么想法吗?
编辑1:为了消除一些混乱 - 我们有许多不同的对象适合这种模式 - 实际上我们正试图为具有2个语义的调用者提出一些优雅的东西:
就我们对Flyweight,Factories的看法而言 - 它们都是我们考虑过的选项,我们真的试图看看我们是否能找到更优雅的东西,而不是依靠JavaDoc说"实现工厂并委托调用它,或按惯例在XXX地点公开"
我正在寻找一个教程,展示如何从核心数据填充UITableView,允许添加记录并删除它们.
我找到了一些项目,但如果没有构建它们的步骤,很难遵循这些项目.
有人见过这方面的教程吗?或者更好的是,视频?
是否有人将Zend Navigation与需要动态参数的URL结合使用?
在处理静态路由时,Zend_Navigation看起来非常简单,但我无法想办法让它与动态URL参数一起使用.
像这样的路线:
routes.editUser.route = '/users/:id/edit'
routes.editUser.defaults.controller = 'user'
routes.edutUser.defaults.action = 'edit'
Run Code Online (Sandbox Code Playgroud)
在此导航中:
<pages>
<editUser>
<controller>users</controller>
<action>edit</action>
<route>editUser</route>
</editUser>
</pages>
Run Code Online (Sandbox Code Playgroud)
只是在Zend_Navigation中引发错误,除非我指定了默认值:id.但是,如果在构造菜单时无法注入实际的用户ID,对我来说没用.
有一种直截了当的方法吗?谢谢.
这个问题可能揭示了我在Java中完全缺乏知识.但是,让我首先向您展示我认为是宣布"成员字段"的正确方法:
public class NoteEdit extends Activity {
private Object mTitleText;
private Object mBodyText;
Run Code Online (Sandbox Code Playgroud)
我正在关注Android的谷歌笔记本教程(这里),他们只是说:"请注意,mTitleText和mBodyText是成员字段(你需要在类定义的顶部声明它们)." 我以为我得到了它,然后意识到这一小段代码不起作用.
if (title != null) {
mTitleText.setText(title);
}
if (body != null) {
mBodyText.setText(body);
}
Run Code Online (Sandbox Code Playgroud)
所以要么我没有正确设置"成员字段",我认为所需要的只是将它们声明为NoteEdit类顶部的私有对象,否则我会遗漏其他内容.在此先感谢您的帮助.
UPDATE
我被要求显示这些字段在哪里被初始化是另一个代码片段希望它有用...
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.note_edit);
Long mRowId;
mTitleText = (EditText) findViewById(R.id.title);
mBodyText = (EditText) findViewById(R.id.body);
Run Code Online (Sandbox Code Playgroud)
所以基本上出现的错误来自eclipse:"方法setText(String)未定义类型Object"
我正在实施跨平台(Mac OS X,Windows和Linux)应用程序,该应用程序将对财务数据进行大量CPU密集型分析.由于速度原因,大部分分析引擎将使用C++编写,用户可访问的脚本引擎与C++测试引擎连接.我希望随着时间的推移编写几个脚本前端来模拟现有大型用户群的其他流行软件.第一个前端将是一个类似VisualBasic的脚本语言.
我认为LLVM可以满足我的需求.由于数据量庞大,性能非常重要; 运行一次测试以获得答案可能需要数小时或数天.我相信使用LLVM还可以让我使用单个后端解决方案,同时我会为不同风格的脚本语言实现不同的前端.
测试引擎本身将与接口分离,测试甚至将在单独的过程中进行,进度和结果将报告给测试管理界面.测试将包含与测试引擎代码集成的脚本代码.
在我之前编写的类似商业测试系统的实现中,我构建了一个快速解释器,它可以轻松地与测试库连接,因为它是用C++编写的,并直接链接到测试引擎库.从脚本代码到测试库对象的回调涉及在具有显着开销的格式之间进行转换.
我想象一下,使用LLVM,我可以直接将回调实现到C++中,这样我就可以使脚本代码的工作方式几乎就像用C++编写的那样.同样,如果所有代码都编译为LLVM字节码格式,似乎LLVM优化器可以跨脚本语言和用C++编写的测试引擎代码之间的边界进行优化.
我不想每次都要编译测试引擎.理想情况下,我想JIT只编译脚本代码.对于小型测试,我会跳过一些优化过程,而对于大型测试,我会在链接期间执行完全优化.
这可能吗?我可以将测试引擎预编译为.o目标文件或.a库文件,然后使用JIT链接脚本代码吗?
最后,理想情况下,我希望脚本代码将特定方法实现为特定C++类的子类.因此,C++测试引擎只能看到C++对象,而JIT设置代码编译的脚本代码实现了对象的一些方法.似乎如果我使用正确的名称修改算法,那么将脚本语言的LLVM生成设置为看起来像C++方法调用相对容易,然后可以将其链接到测试引擎中.
因此,链接阶段将进入两个方向,从脚本语言调用到测试引擎对象以检索定价信息和测试状态信息,并从测试引擎调用某些特定C++对象的方法,其中代码不是从C++提供的,而是来自脚本语言.
综上所述:
1)我可以链接预编译(.bc,.o或.a)文件作为JIT编译,代码生成过程的一部分吗?
2)我可以使用上面1)中的过程链接代码,这样我就可以创建代码,就好像它都是用C++编写的一样吗?
我有一个简单的sinatra应用程序需要生成一个文件(通过外部进程),将该文件发送到浏览器,最后从文件系统中删除该文件.这些方面的东西:
class MyApp < Sinatra::Base
get '/generate-file' do
# calls out to an external process,
# and returns the path to the generated file
file_path = generate_the_file()
# send the file to the browser
send_file(file_path)
# remove the generated file, so we don't
# completely fill up the filesystem.
File.delete(file_path)
# File.delete is never called.
end
end
Run Code Online (Sandbox Code Playgroud)
但是,似乎send_file调用完成了请求,并且它之后的任何代码都没有运行.
有没有办法确保生成的文件在成功发送到浏览器后被清除?或者我是否需要在某个时间间隔内使用运行清理脚本的cron作业?
如果我有一个带有字段名'fieldname'的结构,是否可以仅使用变量来访问该字段中的数据?
即.
x ='fieldname'
是可以做到的
data = struct.(x)在某种程度上?我想在x中使用字符串作为字段名称.