我最近开始阅读一些F#相关文献,谈到"真实世界功能编程"和"专家F#"等.一开始很容易,因为我在Haskell中有一些背景知识,并且知道C#.但是当谈到" 面向语言的编程 "时,我只是不明白. - 我读了一些解释,就像阅读一篇学术论文,每篇句子都更加抽象和奇怪.
有没有人有这样的东西的简单例子,以及它与现有范例的比较?这不仅仅是学术幻想,不是吗?;)
谢谢,愿
1 ..属性的使用是否会导致性能开销?想想一个类:
public class MyClass
{
int Count {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
它有10个属性(属性是类,其中属性类本身比MyClass本身大,如:
public class FirstAttribute : Attribute
{
int A,B,C,D,E,F,G,H,I,J ... {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
2 ..每次MyClass实例化这些属性中的10个是内存开销吗?(FirstAttribute其大小的10倍MyClass将用其中的10个装饰,因此使实际对象本身与其上装饰的属性的总大小相比这么小.)这是一个问题吗?
3 ..这种情况对于结构是否有任何不同(结构是值类型和属性是引用类型)?
4 ..存储在内存中的属性与它们所附着的对象有关吗?他们是如何联系在一起的?
5 ..是否MyClass在初始化或使用反射检索属性时初始化属性?
我喜欢ElementTree解析xml的方式,特别是Xpath功能.我有一个带有嵌套标签的应用程序的xml输出.
我想按名称访问此标记而不指定命名空间,是否可能?例如:
root.findall("/molpro/job")
Run Code Online (Sandbox Code Playgroud)
代替:
root.findall("{http://www.molpro.net/schema/molpro2006}molpro/{http://www.molpro.net/schema/molpro2006}job")
Run Code Online (Sandbox Code Playgroud) 写这样的东西是有效的JavaScript:
function example(x) {
"Here is a short doc what I do.";
// code of the function
}
Run Code Online (Sandbox Code Playgroud)
字符串实际上什么也没做.有什么理由,为什么不应该以这种方式在JavaScript中评论他/她的功能?
在讨论问题时我能想到的两点:
必须启动字符串文字,从长远来看这可能是昂贵的
JS minifiers不会将字符串文字识别为可移除的
还有其他一点吗?
编辑:为什么我提出这个主题:我在John Resig的博客上发现了类似的东西,其中新的ECMA 5标准使用未分配的字符串文字来启用"严格模式".现在,我有兴趣进行评估,如果在进行此类文档时可能存在使用或危险.
我如何知道,如果选择了以下全部或全部选项,使用jQuery?
Soccer: <input type="checkbox" name="sports" value="soccer" style="chkbox" /><br />
Football: <input type="checkbox" name="sports" value="football" style="chkbox" /><br />
Baseball: <input type="checkbox" name="sports" value="baseball" style="chkbox" /><br />
Basketball: <input type="checkbox" name="sports" value="basketball" style="chkbox" />
Run Code Online (Sandbox Code Playgroud) 我有一个函数,这是一个比extract()更安全的提取变量的方法.
基本上,您只需指定从数组中提取哪些变量名称.
问题是,如何将这些变量插入"当前符号表",如extract()?(即函数内的局部变量范围).
我现在只能通过使它们成为全局变量来实现这一点:
/**
* Just like extract(), except only pulls out vars
* specified in restrictVars to GLOBAL vars.
* Overwrites by default.
* @param arr (array) - Assoc array of vars to extract
* @param restrictVars (str,array) - comma delim string
* or array of variable names to extract
* @param prefix [optional] - prefix each variable name
* with this string
* @examples:
* extract2($data,'username,pswd,name','d');
* //this will produce global variables:
* // $dusename,$dpswd,$dname
*/ …Run Code Online (Sandbox Code Playgroud) 有人知道一个好的scala库可以从XML中删除/压缩空格吗?
<foo> <bar>hello world</bar> <baz> xxx </baz> </foo>
至:
<foo><bar>hello world</bar><baz>xxx</baz></foo>
在iPhone上,Core Data是否有办法为其存储的实体的每个实例批量更新字段?就像是
更新some_entities设置some_count = 0,其中some_count> 0
或者我只需要实例化每个实体,设置值,然后保存它?(如果这就是答案,我怎么能在单个事务中做到这一点,假设该集合太大而不适合内存?)
我正在测试谷歌闭包编译器,并希望使用选项"高级" 编译facebox插件,尝试查找"aH"的函数发生错误.
有没有人试图用这个选项编译jQuery插件,效果很好.
谢谢.
编辑: 显然这重新命名jQuery方法,但是可以包含jQuery并同等地重命名所有方法吗?
编辑
带有"externs_url"选项的代码示例:
js输入代码
// ==ClosureCompiler==
// @output_file_name default.js
// @formatting pretty_print
// @compilation_level ADVANCED_OPTIMIZATIONS
// @warning_level QUIET
// @externs_url http://code.jquery.com/jquery-1.5.min.js
// ==/ClosureCompiler==
// ADD YOUR CODE HERE
var test = function($, context) {
var
_self = this;
_self.mymethod = function() {
var lista = $("a", context);
lista.attr("target", "_blank");
return lista.html();
};
return {"mymethod":_self.mymethod};
}.call({}, jQuery, context);
Run Code Online (Sandbox Code Playgroud)
js输出代码
(function(b, c) {
this.a = function() {
var a = b("a", …Run Code Online (Sandbox Code Playgroud) 当我尝试在Visual C++ 2008 Express上编译下面的代码时出现系统错误.我要做的是用文件读取数据初始化对象数组.我认为while循环中有一些错误,因为当我手动初始化这些对象时没有while循环它似乎工作.这是代码和文本文件:
#include <iostream>
#include <string>
#include "Book.h"
using namespace std;
int main()
{
const int arraySize = 3;
int indexOfArray = 0;
Book bookList[arraySize];
double tempPrice;//temporary stores price
string tempStr;//temporary stores author, title
fstream fileIn( "books.txt" );
while ( !fileIn.eof( ))
{
getline(fileIn,tempStr);
bookList[indexOfArray].setAuthor(tempStr);
getline(fileIn,tempStr);
bookList[indexOfArray].setTitle(tempStr);
fileIn >> tempPrice;
bookList[indexOfArray].setPrice(tempPrice);
if ( indexOfArray < arraySize ) //shifting array index while not exceeding array size
indexOfArray++;
}
fileIn.close();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
和文本文件:
Author1
Book1
23.99
Author2
Book2
10.99 …Run Code Online (Sandbox Code Playgroud) jquery ×2
python ×2
xml ×2
.net ×1
arrays ×1
attributes ×1
c# ×1
c++ ×1
checkbox ×1
comments ×1
core-data ×1
docstring ×1
extract ×1
f# ×1
file ×1
iphone ×1
javascript ×1
paradigms ×1
performance ×1
php ×1
reflection ×1
scala ×1
whitespace ×1