当键名以digit开头时,在javascript中我们可以像这样定义类似于数组的对象:
var table = {
'123.com': 'details'
'456.net': 'info'
}
Run Code Online (Sandbox Code Playgroud)
但是当我在Lua5.1中尝试这些代码时:
table = { '123.com' = 'info' }
Run Code Online (Sandbox Code Playgroud)
它抛出一个错误:
[string "local"]:1: '}' expected near '='
Run Code Online (Sandbox Code Playgroud)
但这些代码在lua中被接受:
table = {}
table['123.com'] = 'info'
Run Code Online (Sandbox Code Playgroud)
我想知道它是否是Lua5.1中的一个错误.还是我错过了什么?
Lua 5.1.4
例如:
bar = {}
bar.name = 'test'
bar['123.com'] = function(self) print(self.name) end
Run Code Online (Sandbox Code Playgroud)
我无法调用如下方法:
bar:['123.com']()
stdin:1: '<name>' expected near '['
Run Code Online (Sandbox Code Playgroud)
以下作品:
bar['123.com'](bar)
Run Code Online (Sandbox Code Playgroud)
但我这有点难看.这种情况有没有语法糖?
或者,如果它真的无法做到,Lua团队将来会添加这种语法吗?
或者他们是故意这样做的?
我用圆柱几何体创建了一个圆锥体。然后当我想用lookAt函数旋转锥体指向X轴的正方向时,它就不起作用了。我的代码有什么问题吗?或者这是 Three.js 的一个错误?
你也可以在 jsFiddle 上看到我的代码:http : //jsfiddle.net/ysmood/CRdxP/
class Stage
constructor: ->
@init_scene()
@make_meshes()
init_scene: ->
@scene = new THREE.Scene
# Renderer
width = window.innerWidth;
height = window.innerHeight;
@renderer = new THREE.WebGLRenderer({
canvas: document.querySelector('.scene')
})
@renderer.setSize(width, height)
# Camera
@camera = new THREE.PerspectiveCamera(
45, # fov
width / height, # aspect
1, # near
1000 # far
)
@camera.position.z = 200;
@scene.add(@camera)
make_meshes: ->
size = 20
@mesh = new THREE.Mesh(
new THREE.CylinderGeometry(
0, size, size
),
new THREE.MeshNormalMaterial() …Run Code Online (Sandbox Code Playgroud) 例如,SHA-1是否足够安全,无需验证用户密码?
或者我们总是需要盐来预防攻击?
根据文档:
int是有符号整数类型,其大小至少为32位。但是,它是一个独特的类型,而不是int32的别名。
但是它没有说哪个平台或什么时候会比int32大。
谁能给我更多细节吗?还是在哪里处理它的源代码?我可以强制编译器将int设置为64位吗?
我知道我可以使用int64。这不是要求最佳实践的问题。
javascript ×2
lua ×2
cryptography ×1
encryption ×1
go ×1
node.js ×1
security ×1
sockets ×1
syntax ×1
three.js ×1
v8 ×1
webgl ×1