声明性和程序性编程范式之间有什么区别?你能举个例子吗?
还存在哪些其他编程范式?
我一直在研究PHP中的闭包,这引起了我的注意:
public function getTotal($tax)
{
$total = 0.00;
$callback =
function ($quantity, $product) use ($tax, &$total)
{
$pricePerItem = constant(__CLASS__ . "::PRICE_" .
strtoupper($product));
$total += ($pricePerItem * $quantity) * ($tax + 1.0);
};
array_walk($this->products, $callback);
return round($total, 2);
}
Run Code Online (Sandbox Code Playgroud)
有人请给我一个关于use此代码中使用情况的解释.
function ($quantity, $product) use ($tax, &$total)
Run Code Online (Sandbox Code Playgroud)
当我use在PHP中搜索时,它会找到use在命名空间中使用的关键字,但在这里它看起来不同.
谢谢.
我这几天正在学习Java,我花了很多时间在.NET上,所以当我想导出或导入库时,它们通常是.dll格式,在.Net环境中称为汇编,它们被编译为IL他们可以通过任何方式拥有图像,xml,音频和儿子等资源.
我也想知道Java中的相同过程.我已经阅读了文档,但他们实际上让我感到困惑,并澄清了我需要你帮助的人.
问题:
他们说资源,我们在这里谈论什么样的资源?图像,.txt文件等等或所有这些都可能吗?
我已经检查了AWS(适用于Java的Amazon Web Service API),我看到了三个.jar文件
它们包含.class文件 - html格式的java文档和仍未编译的.java文件.所以我意识到.jar不仅包括编译的字节代码(.class)以及其他内容.
提前感谢您的帮助.
我想学习如何组合两个没有共同字段的数据库表.我已经检查了UNION,但是MSDN说:
以下是使用UNION组合两个查询的结果集的基本规则:
- 所有查询中列的数量和顺序必须相同.
- 数据类型必须兼容.
但我根本没有共同的领域.我想要的只是将它们组合在一个表中,就像一个视图.
所以我该怎么做 ?
提前致谢.
真诚.
STORE = {
item : function() {
}
};
STORE.item.prototype.add = function() { alert('test 123'); };
STORE.item.add();
Run Code Online (Sandbox Code Playgroud)
我一直想弄清楚这有什么问题.为什么这不起作用?但是,当我使用以下内容时它可以工作:
STORE.item.prototype.add();
Run Code Online (Sandbox Code Playgroud) 我在Javascript中阅读范围链但它对我没有任何意义,任何人都可以告诉我什么是范围链以及它如何与图形或甚至白痴都能理解的东西一起工作.我用谷歌搜索但我没有找到可理解的东西:(
提前致谢.
我正在学习Python和到目前为止,我可以告诉低于约的事情__new__和__init__:
__new__ 用于创建对象__init__ 用于对象初始化__new__被调用之前__init__为__new__返回一个新的实例,并__init__随后调用初始化内部状态.__new__对于不可变对象是有益的,因为它们一旦被分配就无法更改.所以我们可以返回具有新状态的新实例.__new__和__init__为两个可变对象,因为它的内部状态可以改变.但我现在还有另外一个问题.
a = MyClass("hello","world"),如何传递这些参数?我的意思是我应该如何构造类__init__,__new__因为它们是不同的,并且除了默认的第一个参数之外都接受任意参数.self关键字在名称方面可以改为别的吗?但我想知道cls在名称方面可能会改变其他东西,因为它只是一个参数名称?我做了一些实验,如下:
>>> class MyClass(tuple):
def __new__(tuple):
return [1,2,3]
Run Code Online (Sandbox Code Playgroud)
我在下面做了:
>>> a = MyClass()
>>> a
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
虽然我说我想回来tuple,但这段代码运行正常并且还给了我[1,2,3].我知道在__new__调用函数后,我们将第一个参数作为我们想要接收的类型传递.我们说的是New功能对吗?我不知道除绑定类型以外的其他语言返回类型?
我也做了其他事情:
>>> issubclass(MyClass,list)
False
>>> issubclass(MyClass,tuple)
True
>>> isinstance(a,MyClass)
False
>>> isinstance(a,tuple)
False
>>> isinstance(a,list) …Run Code Online (Sandbox Code Playgroud) 我一直试图理解这意味着什么:
内联函数
在C++中,类声明中定义的成员函数.(2)编译器替换函数实际代码的函数调用.关键字inline可用于提示编译器执行成员或非成员函数体的内联扩展.
排队
在编译期间用函数代码的副本替换函数调用.
例如,它写的类似于:
当方法是最终的时,它可以是内联的.
这里:http://www.roseindia.net/javatutorials/final_methods.shtml
你能给我一个例子或者什么,或者基本上帮助我理解"它可能被内联"的含义.
谢谢.
我有一个关于Javascript的单线程性质的问题.
console.log("1");
setTimeout(function(){console.log("2");},3000);
console.log("3");
setTimeout(function(){console.log("4");},1000);
Run Code Online (Sandbox Code Playgroud)
这段代码的结果是1 3 4 2.如你所见,4之后2让我想知道在单线程环境中不应该2追求4?如果没有,那么为什么JS知道第二个setTimeout应该在第一个之前完成?难道不应该有两个同时工作的线程来完成两个setTimeouts才能通知EventLoop吗?
有人能告诉我在类convertView的getView()方法中使用了什么参数Adapter?
下面是一个示例代码采取从这里:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
Order o = items.get(position);
if (o != null) {
TextView tt = (TextView) v.findViewById(R.id.toptext);
TextView bt = (TextView) v.findViewById(R.id.bottomtext);
if (tt != null) {
tt.setText("Name: "+o.getOrderName()); }
if(bt != null){
bt.setText("Status: "+ o.getOrderStatus());
}
}
return v;
}
Run Code Online (Sandbox Code Playgroud)
我们应该通过convertView什么?
我发现了什么, …
java ×3
javascript ×3
android ×1
c# ×1
class ×1
closures ×1
function ×1
methods ×1
php ×1
prototype ×1
python ×1
scope-chain ×1
sql-server ×1
union ×1