Почему результаты различаются в следующем:
truffle(development)> l.ownerOf(t) == l.ownerOf(t)
false
truffle(development)> l.ownerOf(t) != l.ownerOf(t)
true
Другая версия:
truffle(development)> var l1 = l.ownerOf(t)
undefined
truffle(development)> l1
'0xf17f52151ebef6c7334fad080c5704d77216b732'
truffle(development)> l1==l1
true
truffle(development)> var l2 = l.ownerOf(t)
undefined
truffle(development)> l1==l2
false
truffle(development)> l2
'0xf17f52151ebef6c7334fad080c5704d77216b732'
Я не могу сравнить два одинаковых адреса из функции просмотра с одинаковыми параметрами.
Я считаю, что это связано с тем фактом, что и l1, и l2 на самом деле являются промисами, хотя они регистрируют свои результаты. Эта логика работает:
truffle(development)> l.ownerOf(t).then(function(i){lll = i})
undefined
truffle(development)> l.ownerOf(t).then(function(i){ll = i})
undefined
truffle(development)> ll==lll
true