我刚刚在JavaScript中遇到了一个有趣的情况.我有一个类,其方法使用object-literal表示法定义多个对象.在这些对象中,this正在使用指针.从程序的行为,我推断出this指针指的是调用方法的类,而不是文字创建的对象.
这似乎是随意的,尽管这是我期望它工作的方式.这是定义的行为吗?跨浏览器安全吗?有没有任何理由可以解释为什么它超出"规范如此说明"的方式(例如,它是否是一些更广泛的设计决策/哲学的结果)?简化代码示例:
// inside class definition, itself an object literal, we have this function:
onRender: function() {
this.menuItems = this.menuItems.concat([
{
text: 'Group by Module',
rptletdiv: this
},
{
text: 'Group by Status',
rptletdiv: this
}]);
// etc
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作股票市场模拟器(可能最终会成长为预测AI),但我无法找到要使用的数据.我正在寻找一个(希望是免费的)历史股市数据来源.
理想情况下,它将是一个非常细粒度(第二或每分钟间隔)的数据集,其中包含纳斯达克和纽约证券交易所(如果我喜欢冒险)的每个符号的价格和数量.有谁知道这些信息的来源?
我发现这个问题表明雅虎提供了CSV格式的历史数据,但我一直无法找到如何粗略地检查链接的网站.
我也不喜欢在CSV文件中逐个下载数据的想法...我想雅虎会在最初的几千个请求之后感到不安并关闭我.
我还发现了另一个让我觉得自己中了大奖的问题,但不幸的是,OpenTick网站似乎已经关门了......太糟糕了,因为我觉得它们正是我想要的.
我也可以使用每天只打开/关闭价格和每个符号的数量的数据,但如果我能得到它,我更喜欢所有的数据.还有其他建议吗?
也许我只是在考虑这个问题,但是我在查找链接的onClick处理程序中某些JavaScript代码中的字符串转义时遇到了什么问题.例:
<a href="#" onclick="SelectSurveyItem('<%itemid%>', '<%itemname%>'); return false;">Select</a>
Run Code Online (Sandbox Code Playgroud)
该<%itemid%>和<%itemname%>在哪里模板替换发生.我的问题是项目名称可以包含任何字符,包括单引号和双引号.目前,如果它包含单引号,则会破坏JavaScript代码.
我的第一个想法是使用模板语言的函数来JavaScript转义项目名称,它只是逃避引号.这不会修复包含双引号的字符串的情况,该双引号会破坏链接的HTML.这个问题通常是如何解决的?我是否需要HTML-escape整个onClick处理程序?
如果是这样,那看起来真的很奇怪,因为模板语言的转义函数也会使括号,引号和分号HTML化......
正在为搜索结果页面中的每个结果生成此链接,因此无法在JavaScript标记内创建单独的方法,因为我需要为每个结果生成一个.
此外,我正在使用我工作的公司本土化的模板引擎,因此特定于工具包的解决方案对我来说毫无用处.
我总称它为"箭头操作员",但我确信它有正式名称.我很快浏览了C++标准,并没有看到它的名字.
今天早上我正在写一个算法,我遇到了一个奇怪的情况.我有两个std::map.我想在每个键的各组键上执行一组交集(找到两个键共有的键).在未来的某个时刻,我认为我也可能也希望在这里执行set减法.幸运的是,STL包含了这两种操作的功能.问题是,我似乎无法从中得到一把std::set钥匙std::map.有没有办法做到这一点?我正在寻找一些简单的东西,就像在Java中一样:
std::set<Foo> keys = myMap.getKeySet();
Run Code Online (Sandbox Code Playgroud)
我的理解是我不能std::set_intersection()直接在迭代器上使用函数到地图中,因为地图暴露了std::pair对象而不仅仅是键.此外,我不认为地图保证顺序.我也有兴趣在一对std::multimaps 上执行相同的操作,如果这有任何区别的话.
编辑:我最初忘了提到由于我被迫使用的编译器的年龄(MSVC++ 6),大多数在boost中可用的漂亮模板技巧都无法使用.
我正在创建一个Adobe Flex应用程序,我有一个Text控件(mx:Text),当你需要多行不可编辑的文本时(而不是Label,它是单行不可编辑的文本),它应该被使用.当我将浏览器窗口调整为小于文本(或者在浏览器窗口已经较小时加载它)时,我的文本控件不会换行.在查阅我发现的这个文档后,如果指定绝对宽度(以像素为单位),似乎只会发生自动换行功能.这正是我想要避免的.我希望文本换行以适应我的Flash对象的大小,以便它始终可见...有没有办法实现这一点,通过一些我缺少的属性或者可能是一个不同的控件?谢谢.
我觉得之前已经问过这个问题,但我无法在SO上找到它,也无法在Google上找到任何有用的信息.也许"covariant"不是我正在寻找的词,但这个概念与函数的协变返回类型非常相似,所以我认为它可能是正确的.这是我想要做的,它给了我一个编译器错误:
class Base;
class Derived : public Base;
SmartPtr<Derived> d = new Derived;
SmartPtr<Base> b = d; // compiler error
Run Code Online (Sandbox Code Playgroud)
假设这些课程充分充实......我想你明白了.它不能转换SmartPtr<Derived>成SmartPtr<Base>某种不明原因.我记得在C++和许多其他语言中这是正常的,虽然目前我不记得为什么.
我的根本问题是:执行此赋值操作的最佳方法是什么?目前,我正在将指针拉出,将其SmartPtr明确地向上转换为基类型,然后将其包装为新SmartPtr的适当类型(请注意,这不会泄漏资源,因为我们的本地SmartPtr类使用侵入式引用计数).那是漫长而凌乱的,尤其是当我需要将SmartPtr另一个对象包裹起来时...任何快捷方式?
我的webapp中有一个img标记,它使用onload处理程序来调整图像大小:
<img onLoad="SizeImage(this);" src="foo" >
Run Code Online (Sandbox Code Playgroud)
这在Firefox 3中工作正常,但在IE7中失败,因为传递给SizeImage()函数的图像对象由于某种原因的宽度和高度为0 - 也许IE在完成加载之前调用该函数?在研究这个问题时,我发现其他人对IE也存在同样的问题.我还发现这不是有效的HTML 4.这是我们的doctype,所以我不知道它是否有效:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)
在加载图像时是否有合理的解决方案来调整图像大小,最好是符合标准的图像?该图像用于用户上传自己的照片,几乎可以是任何尺寸,我们希望以最大150x150的速度显示它.如果您的解决方案是在上传时调整图像服务器端的大小,我知道这是正确的解决方案,但我禁止实现它:(必须在客户端完成,并且必须在显示时完成.
谢谢.
编辑:由于我们的应用程序的结构,在文档的onload中运行此脚本是不切实际的(接近不可能).我只能合理地编辑图像标签及其附近的代码(例如我可以<script>在它下方添加一个右侧).此外,我们已经拥有Prototype和EXT JS库......管理层更愿意不必添加另一个(一些答案提示jQuery).如果可以使用这些框架解决这个问题,那就太棒了.
编辑2:不幸的是,我们必须支持Firefox 3,IE 6和IE 7.我们也希望支持所有基于Webkit的浏览器,但由于我们的网站目前不支持它们,我们可以容忍只能在大3.
有没有办法在Windows上使用某些系统调用来获取文件的MIME类型?我正在用C++编写IIS扩展,所以它必须可以从C++中调用,如果有一些功能暴露,我确实可以访问IIS.显然,IIS本身必须能够做到这一点,但我的谷歌搜索一直无法找到如何.我确实在SO上找到了这个与.net相关的问题,但这并没有给我太多的希望(因为那里既没有提到好的解决方案也没有提到C++解决方案).
我需要它,所以我可以使用我的应用程序中的相应内容类型提供动态文件.我的计划是首先查看我的应用程序中的MIME类型列表,然后回退到系统的MIME类型列表(但是这样可行;显然它存在,因为它是文件与程序关联的方式).在某些情况下我只有一个文件扩展名可以使用,但在其他情况下,我可能有一个实际的磁盘文件要检查.由于这些不是用户上传的文件,我相信我可以信任扩展,我更喜欢仅扩展的查找解决方案,因为它看起来更简单,更快.谢谢!
在我期望可变借用结束之后,我遇到了关于同时使用可变和不可变借用的令人困惑的错误。我对类似问题(1 , 2 , 3 , 4 , 5)进行了大量研究,这让我相信我的问题与词法生命周期有关(尽管打开 NLL 功能并每晚编译并没有) t 改变结果),我只是不知道是什么;我的情况似乎不适合其他问题的任何场景。
pub enum Chain<'a> {
Root {
value: String,
},
Child {
parent: &'a mut Chain<'a>,
},
}
impl Chain<'_> {
pub fn get(&self) -> &String {
match self {
Chain::Root { ref value } => value,
Chain::Child { ref parent } => parent.get(),
}
}
pub fn get_mut(&mut self) -> &mut String {
match self {
Chain::Root { ref mut value } => …Run Code Online (Sandbox Code Playgroud) c++ ×4
javascript ×3
html ×2
apache-flex ×1
c ×1
covariance ×1
escaping ×1
finance ×1
image ×1
map ×1
mime-types ×1
operators ×1
rust ×1
set ×1
simulation ×1
stl ×1
stocks ×1
string ×1
templates ×1
terminology ×1
text ×1
windows ×1
word-wrap ×1