这个问题并不十分具体; 这真的是我自己的C浓缩,我希望其他人也能发现它有用.
免责声明:我知道很多人会有回应的冲动"如果你试图做FP然后只使用一种功能语言".我在一个需要链接到许多其他C库的嵌入式环境中工作,并且没有太多空间用于更多大型共享库,并且不支持许多语言运行时.而且,动态内存分配是不可能的.我也很好奇.
我们中的许多人已经看到了lambda表达式的这个漂亮的C宏:
#define lambda(return_type, function_body) \
({ \
return_type __fn__ function_body \
__fn__; \
})
Run Code Online (Sandbox Code Playgroud)
一个示例用法是:
int (*max)(int, int) = lambda (int, (int x, int y) { return x > y ? x : y; });
max(4, 5); // Example
Run Code Online (Sandbox Code Playgroud)
使用gcc -std=c89 -E test.c,lambda扩展为:
int (*max)(int, int) = ({ int __fn__ (int x, int y) { return x > y ? x : y; } __fn__; });
Run Code Online (Sandbox Code Playgroud)
所以,这些是我的问题:
线int(*X)究竟是什么?宣布?当然,int*X; 是指向整数的指针,但这两者有何不同?
看一下这个扩大的宏观,最终会__fn__做什么呢?如果我写一个测试函数 …
正如可以使用type(name,base-classes,namespace-dict)创建动态类一样,是否可以创建动态函数?
我尝试过以下方面的做法:
>>> f = type("f", (function,), {})
NameError: name 'function' is not defined
Run Code Online (Sandbox Code Playgroud)
好的,所以我会很聪明,但是:
>>> def fn():
... pass
...
>>> type(fn)
<type 'function'>
>>> f = type("f", (type(fn),), {})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: type 'function' is not an acceptable base type
Run Code Online (Sandbox Code Playgroud)
Python是否以与允许动态类相同的方式专门阻止动态函数的创建?
编辑:注意,我不允许任何使用exec ..因为我的问题是Python语言本身允许这样做.
提前致谢.
在我的/var/www我有很多网站(goodsite,badsite,uglysite).现在他们被访问mydomain.com/goodsite等.
我想要的是一个站点,特别是丑陋的站点,可以访问uglysite.mydomain.com- 其他站点保持不变.
我尝试了各种摆弄.htaccess(in /var/www)的方法.注意我启用了mod-rewrite并启用了mod vhost-alias.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^uglysite\.mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/uglysite/
RewriteRule ^(.*)$ /uglysite/$1 [L]
Run Code Online (Sandbox Code Playgroud)
最终发生的是mydomain.com和uglysite.mydomain.com总是映射到相同的东西(即索引/var/www).我尝试添加一个新的虚拟主机,并且惊讶地发现uglysite.mydomain.com正确映射,但是mydomain.com也直接映射到uglysite.
<Virtualhost uglysite.mydomain.com:80>
ServerName uglysite.mydomain.com
ServerAdmin www@localhost
DocumentRoot "/var/www/"
AccessFileName .htaccess
<Directory "/var/www/uglysite">
Order allow,deny
Allow from All
AllowOverride All
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
以上内容已添加到我的启用站点的/ 000-default文件中.这让uglysite.mydomain.com正常工作,但是mydomain.com映射到了同样的东西!
有没有直接的方式去做我打算做的事情?提前致谢.
我有一个16个结果列表,我们称之为"结果".我想把它们安排在4 x 4的桌子上.
使用django模板,我该怎么做?(看起来周期不会对我有帮助)
<table>
{% for r in results %}
...?
{% endfor %}
</table>
Run Code Online (Sandbox Code Playgroud)
谢谢!!
我有两个进程通过stdin和stdout相互连接.
假设我有进程A和进程B.B的stdout需要提供给A的stdin,并且A的stdout需要输入到进程B的stdout.
有一种简单的方法可以在一个简单的命令中表达这种关系,还是有一个基本的shell脚本可以启用它?
提前致谢.
我只是想在进行长时间下载时在框架的左下角设置一个不确定的JProgressBar动画.
我看了很多教程,其中没有一个对我很清楚.我只是想在后台下载文件时让它具有动画效果.每个我试过这种方式,它不会动画进度条,直到后下载完成.
我需要帮助知道下载()调用的位置.
class MyFunClass extends JFrame {
JProgressBar progressBar = new JProgressBar();
public void buttonClicked() {
progressBar.setVisible(true);
progressBar.setIndeterminate(true);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
progressBar.setIndeterminate(true);
progressBar.setVisible(true);
// Do I do my download() in here??
}});
// Do download() here???
progressBar.setVisible(false);
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
编辑:对于那些将来遇到类似问题的人来说,这是基本问题的基本解决方案.这不是我的代码,而是一般草图.内部buttonClicked():
public void buttonClicked() {
class MyWorker extends SwingWorker(String, Object) {
protected String doInBackground() {
progressBar.setVisible(true);
progressBar.setIndeterminate(true);
// Do my downloading code
return "Done."
}
protected void done() { …Run Code Online (Sandbox Code Playgroud) 按照主要的clang静态分析器网页(http://clang-analyzer.llvm.org/scan-build.html)的说明...
我有一个小错误的C文件(badcode.c):
int main(int argc, char ** argv)
{
int j;
int a[4];
puts(a[j]);
return 'a';
}
Run Code Online (Sandbox Code Playgroud)
为了得到一个基本的想法如何clang静态分析器(scan-build)的话,我运行:
scan-build -v clang badcode.c
它输出:
scan-build: Emitting reports for this run to '/tmp/scan-build-2012-08-17-1'.
scan-build: 'clang' executable not found in '/usr/share/clang/scan-build/bin'.
scan-build: Using 'clang' from path: /usr/bin/clang
badcode.c:7:2: warning: implicit declaration of function 'puts' is invalid in C99 [-Wimplicit-function-declaration]
puts(a[j]);
^
1 warning generated.
scan-build: Removing directory '/tmp/scan-build-2012-08-17-1' because it contains no reports.
Run Code Online (Sandbox Code Playgroud)
好吧,很棒,clang发出一点警告,但仍然会产生a.out.为什么它不会产生报告?j对于任何静态分析仪,unititialized变量应该是一个痛苦明显的红旗 - 为什么不报告它?
我只是使用错误的命令行参数?
首先,JavaScript没有像Python那样的基本日期比较吗?
在我的Node.js脚本中,我有以下几行:
console.log(Date(2012,11,10) < Date(2012, 11, 9))
console.log(Date(2012,11,10) > Date(2012, 11, 9))
Run Code Online (Sandbox Code Playgroud)
但是,这两行都返回false.
似乎有很多关于"JavaScript中的日期比较"的问题.
然而,对于几乎所有人来说,有人用他们的自制解决方案来回应比较日期,其中一些很长和/或"hacky".
是否真的没有固有或惯用的方式来简单比较JavaScript中的日期.
任何Node库都支持它吗?
鉴于来自boostrap模板的这个菜单代码,我希望每个菜单项都堆叠并在检测到屏幕尺寸较小时占用整个宽度.基本上,与"三重条"菜单按钮被击中时相同的功能,除了用户不必手动按下它.
提前致谢.
<!-- Static navbar -->
<div class="navbar navbar-default">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery "Lightbox"插件,虽然我不知道这是否是关于手头问题的必要信息.
我通过幻灯片放映的图像非常大; 他们每个都比屏幕大得多(我没有在我的服务器上托管图像,所以我不能调整它们的大小).我需要缩放它们以适应屏幕的范围(也可能有一些余量).是否有一些JQuery或其他Javascript片段来处理这个?
现在我使用"zoombox",这肯定解决了缩放问题.但是,现在所有漂亮的幻灯片功能都丢失了!即,我不能使用箭头键或循环图像库!
javascript ×2
.htaccess ×1
apache ×1
bash ×1
c ×1
clang ×1
css ×1
date ×1
django ×1
gcc ×1
html ×1
java ×1
jprogressbar ×1
jquery ×1
lambda ×1
lightbox ×1
linux ×1
llvm ×1
mod-rewrite ×1
node.js ×1
pipe ×1
progress-bar ×1
python ×1
sh ×1
shell ×1
subdomain ×1
swing ×1
swingworker ×1
virtualhost ×1