在AS3中,您可以将常量传递给编译器
-define+=CONFIG::DEBUG,true
Run Code Online (Sandbox Code Playgroud)
并将其用于条件编译,如下所示:
CONFIG::DEBUG {
trace("This only gets compiled when debug is true.");
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找类似#ifndef的东西,所以我可以否定调试的价值并使用它来有条件地添加发布代码.我发现的唯一的解决办法,到目前为止是在条件编译文档的Adobe和因为我的调试和发布配置是相互排斥的,我不喜欢同时具有DEBUG的想法和释放常数.
此外,这种格式有效,但我假设它在运行时运行检查,这不是我想要的:
if (CONFIG::DEBUG) {
//debug stuff
}
else {
//release stuff
}
Run Code Online (Sandbox Code Playgroud)
我也考虑过做这样的事情,但它仍然不是我希望的优雅解决方案:
-define+=CONFIG::DEBUG,true -define+=CONFIG::RELEASE,!CONFIG::DEBUG
Run Code Online (Sandbox Code Playgroud)
提前致谢 :)
我有一个包含动态内容的网页.假设这是一个产品页面.当用户直接进入example.com/product/123
我想在服务器上呈现我的产品模板并将html发送到浏览器时.但是,当用户稍后点击链接时,/product/555
我想使用JavaScript在客户端更新模板.
我想使用像Knockout.js或Angularjs这样的东西,但我不知道如何在服务器上预先填充这些模板和一些初始数据,并且在客户端上仍然有一个正常运行的模板.即如果我的Angular模板是这样的:
<ul>
<li ng-repeat="feature in features">
{{feature.title}}
<p>{{feature.description}}</p>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
当用户直接访问URL时,我需要一些仍然可用作Angular模板的东西,但是用当前产品的html填充.显然这不起作用:
<ul>
<li ng-repeat="feature in features">Hello
<p>This feature was rendered server-side</p>
</li>
<li>Asdf <p>These are stuck here now since angular won't replace them when
it updates.... </p></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
似乎我唯一的选择是将服务器呈现的html发送到浏览器以及单独的匹配模板......?
在这种情况下,我想避免两次编写每个模板.这意味着我需要切换到我的服务器语言的JavaScript(我不会高兴)或选择一个编译为Java和JavaScript的模板语言,然后找到一种方法将其破解到Play框架(这是什么我正在使用.)
有人有建议吗?
我有一个主窗口:
public class MainPanel extends JFrame implements MouseListener {
public MainPanel() {
setLayout(new FlowLayout());
setDefaultCloseOperation(EXIT_ON_CLOSE);
addMouseListener(this);
ChildPanel child = new ChildPanel();
add(child);
JPanel spacer = new JPanel();
spacer.setPreferredSize(new Dimension(50, 50));
add(spacer);
pack();
setLocationRelativeTo(null);
}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("Mouse click event on MainPanel");
}
}
Run Code Online (Sandbox Code Playgroud)
和一个孩子JPanel:
public class ChildPanel extends JPanel implements MouseListener {
public ChildPanel() {
setBackground(Color.RED);
setPreferredSize(new Dimension(200, 200));
//addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("Mouse click event on ChildPanel");
}
}
Run Code Online (Sandbox Code Playgroud)
通过addMouseListener …
在Flash Builder中创建新项目时,如何确定要在构建路径中包含哪些sdk库?
如果我创建一个新的普通Actionscript项目并选择Flex 4.1,则以下库将显示在构建路径中:
如果我返回并切换到Flex 3.5,它只包括:
如果我创建一个新的Flex Web项目并选择Flex 3.5,它包括:
这些值是在Flash Builder中硬编码还是以某种方式从SDK配置文件中读取它们?我查看了所有xml配置文件,如flex-config.xml和air-config.xml,看起来这些信息在任何地方都不存在.
谢谢.
我有一个 docker-compose 文件,如:
services:
dns-server:
# ...
other:
image: ubuntu
dns: dns-server
Run Code Online (Sandbox Code Playgroud)
有没有办法让other
容器dns-server
用作它的 DNS 服务器而不对该容器的 IP 进行硬编码?使用容器名称不会给我一个错误,但它似乎不起作用。
我有一个SQL脚本需要删除几个约束并在最后恢复它们,但约束名称是自动生成的,并且每次运行脚本时都会有所不同.
我知道如何从表名中获取约束名称,但似乎不可能在drop语句中使用此信息.
select conname from pg_constraint where
conrelid = (select oid from pg_class where relname='table name')
and confrelid = (select oid from pg_class where relname='reference table');
Run Code Online (Sandbox Code Playgroud)
alter table something drop constraint (some subquery)
是语法错误.
理想情况下,我想得到约束名称并将其存储在一个变量中,但似乎Postgres不支持它,我不能使它与psql一起使用\set
.
这甚至可能吗?
我的服务器上有以下测试脚本:
<?php
echo "Test is: " . $_GET['test'];
?>
Run Code Online (Sandbox Code Playgroud)
如果我使用类似example.com/script.php?test=?
(? 是多字节字符)的 url 调用它,则结果页面如下所示:
测试是:É¿
如果我尝试对 $_GET['test'] 中的值执行任何操作,例如将其保存为 mysql 数据库,我也会遇到同样的问题。我需要做什么才能让 PHP 正确处理这个值?
如果我有一个扩展Fruit的Apple类,我如何编写一个JPQL查询来返回严格的Fruit而不是Apple的所有对象?
Oracle 10g中的FLOAT数据类型是什么?它与NUMBER的关系如何?
我可以在Oracle文档中找到FLOAT的唯一参考是在本页的BINARY_DOUBLE部分:http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm#i140621这似乎表明它存储浮点数并允许您指定精度位,但它不引用NUMBER类型.11g文档根本没有提到FLOAT.
"专家Oracle数据库架构:Oracle数据库9i,10g和11g编程技术与解决方案,第二版"一书中说:
除了NUMBER,BINARY_FLOAT和BINARY_DOUBLE类型之外,Oracle在语法上支持以下数值数据类型:
当我说"语法支持"时,我的意思是CREATE语句可能会使用这些数据类型,但在封面下它们都是NUMBER类型....
- FLOAT(p):映射到NUMBER类型.
我不明白的是它如何映射到NUMBER.
NUMBER(p)
允许我指定精度,但比例默认为0.它似乎FLOAT(p)
是映射到NUMBER(decimal p, *)
,即固定精度但可变比例,这不是NUMBER类型允许的东西,据我所知.
那么,FLOAT不只是一个别名,而且还提供了NUMBER本身不提供的行为?
我在一个单独的Test文件夹中设置了一个NetBeans项目,其中包含一堆源类和大约10个jUnit测试类.
在Test文件中,我可以导入任何其他测试文件或源类.但是,从普通源文件中,NetBeans就像测试类不存在一样.它们上的自动完成功能不起作用,如果我尝试使用它们,我会收到编译错误.
我理解通常从常规源使用Test类是没有意义的,但在这种情况下我有充分的理由.我的程序的一部分接受一个类名作为字符串,并使用反射创建它的实例.我的一个jUnit测试调用此方法对其进行测试,并将其传递给Test类的名称.这总是失败,因为正常的程序代码找不到Test文件夹中的任何类.