非常好奇.
我已经注意到了(至少在PY 2.6和2.7),一个float
拥有所有熟悉的丰富的比较函数:__lt__()
,__gt__
,__eq__
等.
>>> (5.0).__gt__(4.5)
True
Run Code Online (Sandbox Code Playgroud)
但是int
没有
>>> (5).__gt__(4)
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'int' object has no attribute '__gt__'
Run Code Online (Sandbox Code Playgroud)
这对我来说很奇怪,因为运营商本身运作良好
>>> 5 > 4
True
Run Code Online (Sandbox Code Playgroud)
甚至字符串也支持比较功能
>>> "hat".__gt__("ace")
True
Run Code Online (Sandbox Code Playgroud)
但所有的int
都是__cmp__()
对我来说似乎很奇怪,所以我想知道为什么会这样.
刚刚测试过,它在python 3中按预期工作,所以我假设有一些遗留原因.仍然希望听到正确的解释;)
首先,这是查询:
SELECT GROUP_CONCAT(title) title, GROUP_CONCAT(description) description,
skill_id, count(*)
FROM jobs j
INNER JOIN job_feed_details d
ON j.id = d.job_id
JOIN jobs_skills js
ON j.id = js.job_id
WHERE moderated = 1
group by skill_id
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作,除了描述字段只返回一个结果,而不是所有结果的串联.我怀疑这是因为描述是一个text
字段,但我找不到任何关于为什么连接不适用于文本字段的内容.
任何人都知道为什么这不起作用?
我是整个'空间索引'的新手,但它似乎是基于纬度/经度的过滤的最佳解决方案.所以我在表格中添加了一列:
所以我创建了一个geometry
字段:
ALTER TABLE `addresses` ADD `point` POINT NOT NULL
Run Code Online (Sandbox Code Playgroud)
然后我尝试添加一个索引:
ALTER TABLE `addresses` ADD SPATIAL INDEX ( `point` )
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误:
#1416 - Cannot get geometry object from data you send to the GEOMETRY field
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
是否可以Enumerable.t
在elixir中参数化类型?
所以目前我有一个带有foo
s 列表的函数:
@spec the_awesome([foo]) :: any
def the awesome(foos) do
Enum.reduce(foos, &(bar(&2, &1)))
end
Run Code Online (Sandbox Code Playgroud)
而且它真的不一定是一个清单!因为唯一的函数调用来自Enum
模块我想更改typespec以获取任何Enumerable,但保持Enumerable必须完全由foo
s 组成的要求
就像是
@spec the_awesome(Enumerable.t(foo)) :: any
Run Code Online (Sandbox Code Playgroud)
这可能吗?
有一个不可见的字符破坏了我的XML解析器.
c&
XML声称是UTF-8,但是当我尝试使用时 <c:import . . . charEncoding="UTF-8">
我得到这个友好的信息:
错误:javax.servlet.jsp.JspException:java.io.CharConversionException:非法的utf8编码(187)
我已经能够找到问题的根源.它是一个位于'c'和'&'之间的隐形字符.
我想更多地了解这个角色,但似乎IntelliJ无法向我展示隐藏的角色...
我想我在网上看到了一个可以将Unicode字符转换为八进制值的工具,但我再也找不到了.如果有一个我需要下载的工具,那就没问题.
有什么建议?
好的,朋友告诉我,od
所以我尝试了一下:
$ echo -n "c&" | od -c
0000000 c 357 273 277 357 273 277 &
0000010
Run Code Online (Sandbox Code Playgroud)
所以似乎问题是由字节序列引起的 357 273 277
我们知道那个序列是什么吗?
我试图从一个codeigniter控制器访问一个模型中的数组,事情是奇怪的.
目前我在模型中的所有内容都是这样的:
class Pages_model extends CI_Model {
function __construct()
{
parent::__construct();
}
var $pages = array(
'draw', 'stackoverflow', 'words'
);
}
Run Code Online (Sandbox Code Playgroud)
我可以看到正在设置数组,因为我执行时
$this->load->model('Pages_model');
die(var_dump(get_object_vars($this->Pages_model)));
Run Code Online (Sandbox Code Playgroud)
我得到了输出
array
'pages' =>
array
0 => string 'draw' (length=4)
1 => string 'stackoverflow' (length=13)
2 => string 'words' (length=5)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试访问变量本身时:
$this->load->model('Pages_model');
die(var_dump($this->Pages_model->$pages));
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
消息:未定义的变量:页面
这对我没有任何意义.到底是怎么回事????
mysql ×2
codeigniter ×1
controller ×1
elixir ×1
geolocation ×1
geometry ×1
group-concat ×1
model ×1
php ×1
python ×1
sql ×1
types ×1
unicode ×1
utf-8 ×1
xml ×1