Basit bir V-REP simülasyonu geliştirdik. Bu, OS X üzerinde oldukça iyi çalışıyor ancak Linux'ta değil (Ubuntu 15.04). Ana betik dili olarak Lua kullanılır.V-REP'nin Lua `tonumum 'nil'i Linux'ta geri döndürüyor
gerçekten ilginç nedire[3] -- -0.677782532263
type(e[3]) -- string
type(tonumber(e[3])) -- nil
gerçektir:
Biz maalesef Linux üzerinde nil
döndürür (ancak OS X üzerinde sorunsuz sayıya e[3]
dönüştürür) (yorumlarda dönüş değerleri ile) aşağıdaki kodu eklemek Bir önceki kod, Lua 5.2.3 konsolunda (hem OS X hem de Linux) beklendiği gibi çalışır. Ancak, V-REP, Linux üzerinde çalışırken dizeyi doğru numaraya dönüştüremez.
Hem 32b and 64b V-REP versions (bugün indirilen) tam olarak aynı sonuçları kullanarak denedik - nil
s. Kaybettiğimiz bazı şeylere dikkat eder misiniz? Ne Lua ne de V-REP, her gün kullandığımız şeylerdir.
Düzen 1: Ubuntu 15.04 Kullanıyorum. V-REP Lua 5.1 kullanır, My Lua sürümü:
konsolunda$ apt-cache policy lua5.1
lua5.1:
Installed: 5.1.5-7.1
Candidate: 5.1.5-7.1
Version table:
*** 5.1.5-7.1 0
500 http://cz.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
100 /var/lib/dpkg/status
, şu çalıştı:
$ lua
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> e={[3]="-0.677782532263"}; print(e[3], type(e[3]), tonumber(e[3]), type(tonumber(e[3])))
-0.677782532263 string -0.677782532263 number
Paketleri
Gerçekten 'Nil' yazdırılıyor mu? Yoksa nil değil mi? Bu olduğunda, hem OS X'de hem de linux'da lua'nın aynı sürümünü kullandığınızdan eminsiniz? Ve ilk iki satırın her ikisi de, bu olduğunda OS X ve Linux'ta aynı değeri veriyorlar mı? –
Merhaba Etan, 'nil' olsun, sürüm her iki platformda da aynıdır ve çıktı hakkında - değerler dinamik olarak python'da yaratılır ve vrep (ve lua) 'a uzak api yoluyla gönderilir, böylece aynı şekilde değildirler değerler, ama hata hiç os x üzerinde gerçekleşmez ve geçilen tüm float numaraları üzerinde linux olur. – Gyfis
@EtanReisner tam olarak Gyfis yazdığı gibi. – petrbel