免责声明:我正在寻找一个Python 2.6解决方案,如果有的话.
我正在寻找一个函数,当传递单个值时返回单个值,或者在传递多个值时返回一个序列:
>>> a = foo(1)
2
>>> b, c = foo(2, 5)
>>> b
3
>>> c
6
Run Code Online (Sandbox Code Playgroud)
要清楚,这是为了使一些函数调用看起来比以下更好:
a, = foo(1)
Run Code Online (Sandbox Code Playgroud)
要么
a = foo(1)[0]
Run Code Online (Sandbox Code Playgroud)
现在,不优雅的解决方案是这样的:
def foo(*args):
results = [a + 1 for a in args]
return results if len(results) > 1 else results[0]
Run Code Online (Sandbox Code Playgroud)
是否有任何语法糖(或功能)会让这感觉更清洁?以下任何事情?
def foo(*args):
return *[a + 1 for a in args]
Run Code Online (Sandbox Code Playgroud) 我正在构建一个GPS相关的应用程序,显示其他计算中的坐标.我的演示代码设置为每秒触发事件.
每当我更新主页面UI(例如,具有计算的纬度的文本框)时,它都可以正常工作.
问题是如果我试图从一侧"轻弹"到另一侧,更改页面.在"轻弹"的过程中,如果要更新文本框,它会将主页面跳回到视图中.
没有视频很难在文本中解释.但想象一下,点击n-holding,然后轻轻地拉开全景屏幕 - 比如说,看看下一页,但还没有翻转.好吧,如果文本框在那段时间内要更新,你将松开鼠标点击保持,它会跳回到主页面.
一旦你到达下一页,它就会停留,我可以看到上一页的溢出更新.没什么大不了的.但它只是试图进入下一页.
我是WP7/Silverlight的新手,所以我一直在尝试使用Dispatcher来提高响应速度.无论我做什么(使用Dispatcher),都会发生这种情况.所以,我猜这与更新的UI有关.
一些小代码总能帮助:
void GeoWatcher_PositionChanged(object sender,
GeoPositionChangedEventArgs<GeoCoordinate> e)
{
Deployment.Current.Dispatcher.BeginInvoke(() => MyPositionChanged(e));
}
void MyPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate> e)
{
var model = GeoProcessor.GetPosition(e.Position);
latitude.Text = model.Latitude;
longitude.Text = model.Longitude;
altitude.Text = model.Altitude;
accuracy.Text = model.Accuracy;
direction.Text = model.Direction;
speed.Text = model.Speed;
speedAvg.Text = model.SpeedAvg;
}
Run Code Online (Sandbox Code Playgroud)
当更新任何这些文本框时,屏幕会"跳转"回主页面.有点不好的经历.
也许这是正常的?知道用户是否试图"滑动"到下一页是否有事件可以吸引?
提前致谢.
我正在使用asp:LinkButton.该文本悬停在它上面时强调.但是我希望它总是有下划线.谁能告诉我如何实现这一目标?
谢谢!
有谁知道如何用iOS制作一个简单的EQ音频单元(3个频段 - 低,中,高)?我知道如何在我的AU Graph中添加iPod EQ音频单元.但它只允许您访问预设,我需要适当控制EQ.
我四处寻找一些教程或解释,但没有运气.
谢谢.
安德烈
我正在尝试更改默认路径或添加网络服务器查找图像的路径.我真的很想在PHP中做一个解决方案,而不是在htaccess中.
最基本的例子是试图"打破"当前的实现,所以说我有一个目录,其中包含以下内容:
主要/
在index.php:
<?php
// Change the directory WAY out of current directory
chdir('../../../');
echo getcwd(); // DEFINITELY NOT where image.png is located
?>
<img src="image.png" width="402" height="265" alt="1">
<!-- WHY ARE YOU STILL RENDERING?!?! -->
Run Code Online (Sandbox Code Playgroud)
如果您理解我的观点或者您有任何疑问,请告诉我.
谢谢大家!马特穆勒
我今天遇到了一个涉及CATiledLayer的有趣的iOS问题.这只发生在设备上 - 而不是在模拟器中.
我的视图通过drawLayer:inContext:delegate callback在其CALayer中绘制.该图层具有CATiledLayer派生的子图层,该图层在重写的drawInContext:方法中执行自己的绘图.
这两个层都通过CGContextDrawPDFPage()呈现pdf内容.(CALayer绘制低分辨率版本,而CATiledLayer子层在顶部绘制高分辨率内容.)
我遇到了一个我将完成视图的场景 - 将其从超级视图中删除并释放它.在视图上调用dealloc().稍后,系统将调用CATiledLayer的drawInContext:方法(在后台线程上).它会绘制,但是从方法返回时,Springboard会崩溃,并且在这样做时,也会关闭我的应用程序.
我通过在视图的dealloc方法中在CATiledLayer中设置一个标志来修复它,告诉它不再渲染.
但我只能想象有一种更优雅的方式.为什么仍然在父图层之后调用CATiledLayer drawInContext:方法,并且父图层的视图被解除分配?关闭视图的正确方法是什么,以免发生这种情况?
例如:
function(input){
var testVar = input;
string = ...
string.replace(/ReGeX + testVar + ReGeX/, "replacement")
}
Run Code Online (Sandbox Code Playgroud)
但这当然不起作用:)有没有办法做到这一点?
我有以下内容:
<html:select property="myMap(abc)">
但是,我真正需要做的是abc从java类的静态成员中提取字符串.
我觉得有点像
<html:select property="myMap(<%=MyClass.FIELD%>)">
,但那没用.
这里的语法是什么?
我用Java编写了两个矩阵类,只是为了比较矩阵乘法的性能.一个类(Mat1)存储矩阵double[][] A行所在的成员.其他类(MAT2)存储和其中是的转置.iA[i]ATTA
假设我们有一个方矩阵M,我们想要它的乘积M.mult(M).打电话给产品P.
当M是Mat1实例时,使用的算法是直截了当的:
P[i][j] += M.A[i][k] * M.A[k][j]
for k in range(0, M.A.length)
Run Code Online (Sandbox Code Playgroud)
在M是我使用的Mat2的情况下:
P[i][j] += M.A[i][k] * M.T[j][k]
Run Code Online (Sandbox Code Playgroud)
这是相同的算法,因为T[j][k]==A[k][j].在1000x1000矩阵上,第二个算法在我的机器上花费大约1.2秒,而第一个算法花费至少25秒.我期待第二个更快,但不是这么多.问题是,为什么这么快?
我唯一的猜测是第二个更好地利用了CPU缓存,因为数据以大于1个字的块的形式被拉入缓存,第二个算法通过仅遍历行来获益,而第一个算法忽略了拉入的数据缓存通过立即到达下面的行(在内存中大约1000个字,因为数组以行主要顺序存储),没有缓存的数据.
我问了一个人,他认为这是因为更友好的内存访问模式(即第二个版本会导致更少的TLB软故障).我根本没有想到这一点,但我可以看到它如何导致更少的TLB故障.
那么,这是什么?还是有其他原因导致性能差异?
我正在努力获得一个regexp(在Ruby中),它将提供以下内容
"one, two" -> "one"
"one, two, three" -> "one"
"one two three" -> "one two three"
Run Code Online (Sandbox Code Playgroud)
我希望匹配任何字符直到字符串中的第一个逗号.如果没有逗号,我希望整个字符串匹配.到目前为止,我的最大努力是
/.*(?=,)?/
Run Code Online (Sandbox Code Playgroud)
这从以上示例产生以下输出
"one, two" -> "one"
"one, two, three" -> "one, two"
"one two three" -> "one two three"
Run Code Online (Sandbox Code Playgroud)
关闭但没有雪茄.有人可以帮忙吗?
ios ×2
java ×2
regex ×2
asp.net ×1
audiounit ×1
calayer ×1
catiledlayer ×1
chdir ×1
controls ×1
core-audio ×1
default ×1
directory ×1
iphone ×1
javascript ×1
jsp ×1
performance ×1
php ×1
python ×1
python-2.6 ×1
python-2.x ×1
ruby ×1
struts ×1
taglib ×1
variables ×1