我正在尝试ES6,我使用gulp构建和babel转换为ES5.输出不在节点中运行,只是从带有标记的.htm文件链接.我想我需要补充一下
<script src='require.js'></script>
Run Code Online (Sandbox Code Playgroud)
或类似的东西.
我试图导入/导出.
////////////////scripts.js
import {Circle} from 'shapes';
c = new Circle(4);
console.log(c.area());
/////////////////shapes.js
export class Circle {
circle(radius) {
this.radius = radius;
}
area() {
return this.radius * this.radius * Math.PI;
}
}
Run Code Online (Sandbox Code Playgroud)
错误是
Uncaught ReferenceError: require is not defined
Run Code Online (Sandbox Code Playgroud)
参考这个(在gulp之后的.pipe(babel())之后)
var _shapes = require('shapes');
Run Code Online (Sandbox Code Playgroud) 声明类中的变量(在函数外部):所有类函数都可以访问它(基本上是一个公共变量)
在类中的函数内声明一个变量:只有该函数可以访问它(它在该函数范围内)
在类中的函数内声明一个带有self(变量名)的变量:所有类函数都可以访问它(这与全局(变量名)有什么不同?)
并且由于没有私有/受保护,所以一切都是公共的,因此可以从课堂外访问从课堂内部访问的所有内容.
我应该知道还有其他细微差别吗,还是我几乎得到了它?
假设我定义了一个类,该类具有与其自身相同类型的变量作为成员.
public class abc {
private abc p;
}
Run Code Online (Sandbox Code Playgroud)
这实际上是有效的,令我惊讶.
为什么我认为它不应该:创建一个实例abc,它包含一个类型的变量abc,其中包含一个类型的变量abc,其中包含一个类型的变量abc,其中.....
显然我错了,有人可以告诉我如何?
使用python 3.2.
import collections
d = defaultdict(int)
Run Code Online (Sandbox Code Playgroud)
跑
NameError: name 'defaultdict' is not defined
Run Code Online (Sandbox Code Playgroud)
我重新启动了Idle.我知道正在导入集合,因为打字
collections
Run Code Online (Sandbox Code Playgroud)
结果是
<module 'collections' from '/usr/lib/python3.2/collections.py'>
Run Code Online (Sandbox Code Playgroud)
还有帮助(集合)向我展示了包括defaultdict类在内的帮助.
我究竟做错了什么?
Python 3.2.3,使用Idle,Python shell
t = (1,2,3)
t2 = (5,6,7)
z = zip(t,t2)
for x in z :
print(x)
Run Code Online (Sandbox Code Playgroud)
结果:(1,5)(2,6)(3,7)
完全使用相同的循环代码再次在for循环中显示z(在上一部分和下一部分之间不做任何事情):
for x in z :
print(x)
Run Code Online (Sandbox Code Playgroud)
结果:(空白,无结果)
z仍然存在,如
z
Run Code Online (Sandbox Code Playgroud)
结果是
<zip object at 0xa8d48ec>
Run Code Online (Sandbox Code Playgroud)
我甚至可以重新分配t,t2再次拉链,但是它只能再次使用一次而且只能工作一次.
它应该如何工作?在http://docs.python.org/3.2/library/functions.html#zip的文档中没有提到这一点.
这不是一个"纯粹的"编程问题,但由于它深入参与编程理论,我认为最好在这里问一下.
关于P NP问题,摘自http://en.wikipedia.org/wiki/P_versus_NP_problem:"实质上,问题P = NP?问:假设可以快速验证是或否问题的答案.那么,答案本身也可以快速计算出来吗?"
我想知道,验证答案的速度与生成解决方案的速度有什么关系?
说我有这样的字典:
d = {'a': 8.25, 'c': 2.87, 'b': 1.28, 'e': 12.49}
Run Code Online (Sandbox Code Playgroud)
我有一个价值
v = 3.19
Run Code Online (Sandbox Code Playgroud)
我想说的是:
x = "the key with the value CLOSEST to v"
Run Code Online (Sandbox Code Playgroud)
哪会导致
x = 'c'
Run Code Online (Sandbox Code Playgroud)
有关如何处理此问题的任何提示?
1)在下面的代码中,创建gameOfLive变量的原因是function gameOfLife()什么?
2)什么是gol?它看起来像一个数组,但我不熟悉语法或它所谓的.
我正在学习http://sixfoottallrabbit.co.uk/gameoflife/
if (!window.gameOfLife) var gameOfLife = function() {
var gol = {
body: null,
canvas: null,
context: null,
grids: [],
mouseDown: false,
interval: null,
control: null,
moving: -1,
clickToGive: -1,
table: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(''),
tableBack: null,
init: function(width, height) {
gol.body = document.getElementsByTagName('body')[0];
gol.canvas = document.createElement('canvas');
if (gol.canvas.getContext) {
gol.context = gol.canvas.getContext('2d');
document.getElementById('content').appendChild(gol.canvas);
gol.canvas.width = width;
gol.canvas.height = height;
gol.canvas.style.marginLeft = "8px";
gol.control = document.getElementById('gridcontrol');
gol.canvas.onmousedown = gol.onMouseDown;
gol.canvas.onmousemove = gol.onMouseMove;
gol.canvas.onmouseup …Run Code Online (Sandbox Code Playgroud) 它们是一样的吗?
更长的版本:
假设我在汇编时在一台Windows机器上编写了一个小应用程序,它只需添加1 + 1并将其存储在寄存器中.那么,我在Linux机器上编写完全相同的代码.会有用吗?
我想是的,因为在硬件层面,它是同一台机器,所以'硬件的语言'(原谅不精确性)将是相同的.
所以我认为一个针对Windows的病毒,但用汇编编写的内容不会只是一个Windows病毒.
再次研究自己进入一个角落......
def superfunction(*args, **kwargs, k):
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
什么是我打破这里的规则?似乎你不应该将'常规'变量与*变量混合,但我找不到任何人确认或否认这一点.我读到了某个地方(我现在无法找到)当前必须先找到某些类型的参数,我相信关键字参数,这可能是也可能不是我的问题的一部分.
python ×5
python-3.x ×3
javascript ×2
assembly ×1
class ×1
ecmascript-6 ×1
java ×1
oop ×1
scope ×1
theory ×1
virus ×1
x86 ×1