我需要使用Windows命令行(cmd)执行.lua脚本.我的.lua文件在我的lua.exe所在的文件夹中.
我已经尝试了几种运行文件的方法,但我无法弄清楚如何做到这一点.=(
(我也有扩展名.out的相同脚本)
如果你看下面的时间:
C:\Users\Henry>python -m timeit -s "mul = int.__mul__" "reduce(mul,range(10000))"
1000 loops, best of 3: 908 usec per loop
C:\Users\Henry>python -m timeit -s "from operator import mul" "reduce(mul,range(10000))"
1000 loops, best of 3: 410 usec per loop
Run Code Online (Sandbox Code Playgroud)
两者之间的执行速度存在显着差异
reduce(int.__mul__,range(10000))并且reduce(mul,range(10000))后者更快.
使用该dis模块查看发生的情况:
使用int.__mul__方法:
C:\Users\Henry>python
Python 2.7.4 (default, Apr 6 2013, 19:55:15) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> mul = int.__mul__
>>> def test():
... mul(1,2) …Run Code Online (Sandbox Code Playgroud) 我有一个简单的模型类,代表两个角色之间的战斗:
class WaifuPickBattle(db.Model):
"""Table which represents a where one girl is chosen as a waifu."""
__tablename__ = "waifu_battles"
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)
date = db.Column(db.DateTime, nullable=False)
winner_name = db.Column(db.String, nullable=False)
loser_name = db.Column(db.String, nullable=False)
Run Code Online (Sandbox Code Playgroud)
我有一种构造CTE的方法,该CTE将战斗投射为一系列出场(每场战斗都有两次出场-胜利者和失败者):
def get_battle_appearences_cte():
"""Create a sqlalchemy subquery of the battle appearences."""
wins = select([
WaifuPickBattle.date,
WaifuPickBattle.winner_name.label("name"),
expression.literal_column("1").label("was_winner"),
expression.literal_column("0").label("was_loser")
])
losses = select([
WaifuPickBattle.date,
WaifuPickBattle.loser_name.label("name"),
expression.literal_column("0").label("was_winner"),
expression.literal_column("1").label("was_loser")
])
return wins.union_all(losses).cte("battle_appearence")
Run Code Online (Sandbox Code Playgroud)
然后,我有了一个查询,该查询利用此视图来确定战斗最多的角色:
def query_most_battled_waifus():
"""Find the waifus with the most battles in a …Run Code Online (Sandbox Code Playgroud) 以下代码使用ASP.NET MVC 4在Firefox和Chrome上正常运行(页面加载时没有错误,下拉列表正确显示/响应),但IE10会在页面加载时抛出以下内容:
> 0x800a01b6 - JavaScript运行时错误:对象不支持属性或方法"已选择"
这是SELECT html标记:
<select class="chzn-select" data-placeholder="Group" name="Group">
@foreach(var group in @Model.Groups)
{
<option value="@group">@group</option>
}
</select>
Run Code Online (Sandbox Code Playgroud)
它下面的JavaScript:
<script type="text/javascript">
$(function () {
$(".chzn-select").chosen();
});
</script>
Run Code Online (Sandbox Code Playgroud)
我已将selected.css和选择的.*.js文件添加到相应的样式和脚本包中,然后将其包含在我的母版页中.
(页面请求中的开发工具屏幕)

此外,我尝试使用select2,它在IE中遇到了同样的错误,其他浏览器工作正常.(我更新了包以包含对.css和.js的引用)我改变的代码是:
<select class="GroupDropdown" name="Group">
@foreach(var group in @Model.Groups)
{
<option value="@group">@group</option>
}
</select>
<script type="text/javascript">
$(function () {
$(".GroupDropdown").select2();
});
</script>
Run Code Online (Sandbox Code Playgroud)
以下适用于所有浏览器(文件位于root并正确命名)
<!DOCTYPE html>
<html>
<head>
<title>Dropdown Test</title>
<script src="jquery.js" type="text/javascript"></script>
<script src="select2.js" type="text/javascript"></script>
<link href="select2.css" rel="stylesheet" />
</head>
<body>
<select>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option> …Run Code Online (Sandbox Code Playgroud) 我无法理解表达式""==true和""==false两者的评价方式false.
在lua解释器和ilua中尝试以下结果会产生相同的输出:
> =""==true
false
> =""==false
false
Run Code Online (Sandbox Code Playgroud)
或者执行以下操作:
print(""==true)
print(""==false)
print(""==nil)
Run Code Online (Sandbox Code Playgroud)
输出
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
false
false
false
>
Run Code Online (Sandbox Code Playgroud)
另一个例子:
> =""~=true
true
> =""==false
false
Run Code Online (Sandbox Code Playgroud)
运行以下代码时:
if "" then -- if ""==true
print "was true"
end
if not "" then -- if ""==false
print "was not true"
end
Run Code Online (Sandbox Code Playgroud)
输出是(看似不一致)
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
was true
>
Run Code Online (Sandbox Code Playgroud)
正如预期的Lua FAQ所述
类C语言将0视为等同于false,但对于Lua而言则不然.只有明确的false或nil等同于false.如果有疑问,请明确条件,例如,如果val == nil则... end,除非该值实际上是布尔值.
价值如何不等于 …
我无法理解为什么__index这些示例之间的元方法行为存在差异:
A = { __index = A }
function A:speak()
print("I'm an A")
end
An_A = setmetatable({},A)
An_A:speak()
Run Code Online (Sandbox Code Playgroud)
会引发以下错误: lua: l.lua:8: attempt to call method 'speak' (a nil value)
同时
B = { __index = function(t,key) return B[key] end }
function B:speak()
print("I'm an B")
end
An_B = setmetatable({},B)
An_B:speak()
Run Code Online (Sandbox Code Playgroud)
将按预期执行,输出I'm an B.
在试图理解为什么会这样的情况下,我阅读了PiL的这一部分.它指出:
使用__index元方法进行继承是如此常见,以至于Lua提供了一种快捷方式.尽管有名称,但__index元方法不需要是一个函数:它可以是一个表,而不是.当它是一个函数时,Lua用表和缺席键作为参数来调用它.当它是一个表时,Lua重做该表中的访问权限.
我对此的理解是,在涉及"A"的代码段中,__index = A导致访问在表中完成A(根据上面引用的加速分段).如果是这种情况,我不明白为什么"speak"找不到与密钥相关的功能.为了尝试修复此问题,我决定在B代码段中实现函数方法,该方法返回与keyin 关联的值B,并且它有效.当然__index = …
如果结果有小数,我如何打印出浮点数或如果结果没有小数则打印出整数?
c = input("Enter the total cost of purchase: ")
bank = raw_input("Enter the bank of your credit card (DBS, OCBC, etc.): ")
dbs1 = ((c/float(100))*10)
dbs2 = c-dbs1
ocbc1 = ((c/float(100))*15)
ocbc2 = c-ocbc1
if (c > 200):
if (bank == 'DBS'):
print('Please pay $'+str(dbs2))
elif (bank == 'OCBC'):
print('Please pay $'+str(ocbc2))
else:
print('Please pay $'+str(c))
else:
print('Please pay $'+str(c))
exit = raw_input("Enter to exit")
Run Code Online (Sandbox Code Playgroud)
Enter the total cost of purchase: 250
Enter the bank of your credit …Run Code Online (Sandbox Code Playgroud) 我遇到了以下问题:
正如您所料:
>>> [01,02,03]
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
将superflous添加0到整数的前面会导致整数N的数学等价0N,即N.
但是,当我这样做时:
>>> [030, 031, 031, 031, 030, 031, 031, 032, 031, 032]
[24, 25, 25, 25, 24, 25, 25, 26, 25, 26]
Run Code Online (Sandbox Code Playgroud)
事实证明这一观点完全不正确.我试图通过尝试检查是否030为int 来弄清楚为什么会这样:
>>> type(030)
<type 'int'>
Run Code Online (Sandbox Code Playgroud)
然后我想也许,030正在评估24,然后它反而得到type(24).所以我想看看发生了什么dis可能会有所帮助:
>>> dis.dis('n=030')
0 JUMP_FORWARD 12349 (to 12352)
3 DELETE_SLICE+1
4 <48>
>>> dis.dis('n=30')
0 JUMP_FORWARD 13117 (to 13120)
3 <48>
Run Code Online (Sandbox Code Playgroud)
这无助于澄清为什么会出现这种情况.那么,这种行为背后的共鸣是什么?
根据标题:
>>> …Run Code Online (Sandbox Code Playgroud) python ×4
lua ×3
asp.net-mvc ×1
c ×1
cmd ×1
coding-style ×1
if-statement ×1
jquery ×1
lua-table ×1
metatable ×1
sqlalchemy ×1