我的意思是写一个类型的参数number,但我错误拼写了类型,Number而是写作.
在我的IDE(JetBrains WebStorm)上,类型Number使用与原始类型相同的颜色编写number,而如果我写了一个类的名称(已知或未知),它使用不同的颜色,所以我猜它以某种方式识别它拼写错误的类型作为正确/几乎正确/排序正确的类型.
当我编译代码时,而不是抱怨例如编译器找不到名为的类Number,TSC写入此错误消息:
Illegal property access
Run Code Online (Sandbox Code Playgroud)
这是否意味着number并且Number两者共存为不同的类型?
如果这是真的,这些类之间的区别是什么?
如果不是这种情况,那么为什么它只是没有写出它为未知类显示的相同错误消息("当前范围中不存在名称'数字'")
这是代码:
class Test
{
private myArray:string[] = ["Jack", "Jill", "John", "Joe", "Jeff"];
// THIS WORKS
public getValue(index:number):string
{
return this.myArray[index];
}
// THIS DOESN'T WORK: ILLEGAL PROPERTY ACCESS
public getAnotherValue(index:Number):string
{
return this.myArray[index];
}
}
Run Code Online (Sandbox Code Playgroud) 我用Javascript编写的一段非常简单的代码有问题,你能帮帮我吗?
以下是我认为到目前为止我对javascript和变量的理解:
我在一个在线课程中找到了一个练习文件,我试图这样做,但是我没有在课程中得到相同的结果; 主要问题是我通过"if value == false {...}"比较值,而解决方案是使用"if!value {...}"
所以我决定写一个非常短的代码,以便自己尝试,但我的结果好坏参半.在下面的示例中,我希望这个JS代码生成两个相同的警报("foo等于false"),但是第一个if语句返回"foo IS not equal false",而第二个if返回(如预期的那样) "foo等于假".
这就是我写的:
var foo = undefined;
if (foo == false) {
alert("foo is equal to false");
} else {
alert("foo is not equal to false"); // Javascript executes this row
}
if (!foo) {
alert("foo is equal to false"); // Javascript executes this row
} else {
alert("foo is not equal to false");
}
Run Code Online (Sandbox Code Playgroud)
AFAIK这两个IF应该做同样的工作,事实上当我尝试通过在第一行替换值"var foo = undefined;"时 用"var foo = 0;" 它按预期工作,0是另一个应该被评估为false的值,或者至少这是我记得的.
你能告诉我我做错了什么吗?
我有一台OS X 10.8.2的MacBook Pro前段时间我安装了Typescript,今天我想将该安装升级到最新版本(目前为止,v0.8.3).我从终端写了这个命令:
sudo npm install -g typescript
Run Code Online (Sandbox Code Playgroud)
但这是我在显示器上得到的:
npm http GET https://registry.npmjs.org/typescript
npm http 304 https://registry.npmjs.org/typescript
/usr/local/bin/tsc -> /usr/local/lib/node_modules/typescript/bin/tsc
typescript@0.8.0 /usr/local/lib/node_modules/typescript
Run Code Online (Sandbox Code Playgroud)
这是否意味着我的计算机上仍然安装了0.8.0版本?我试着看看tsc命令是否有一个-v或一个-version参数,但我还没有找到它,所以我仍然不确定我是否已将Typescript升级到最新版本,或者我是否仍然坚持使用旧版本.
我正在努力学习如何使用Jekyll和Bootstrap; 在研究它们时,我决定在我的主页上有一个图像轮播.
因为我真的很懒,所以我不想硬编码显示布局中每个图像所需的路径,我也不想使用数组来存储图像列表.
我想知道是否有任何标签可以让Jekyll做这两个步骤:
基本上我想写的东西模糊地类似于这段(想象的)代码:
{% for file in directory %}
<img src="{{ file.url }}" />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
因此,例如,如果我有一个包含三个文件的文件夹,名为image01.jpg,image02.jpg,image03.jpg,我想jekyll可以为我构建这个HTML代码:
<img src="folder/image01.jpg" />
<img src="folder/image02.jpg" />
<img src="folder/image03.jpg" />
Run Code Online (Sandbox Code Playgroud)
所以我看了一下这个参考页面,但是我找不到任何有用的东西.
拜托,您能否给我任何建议,如果可能的话,还有一个不涉及使用插件的建议?
先感谢您.
编辑:我刚刚发现使用标准库"curses"可以获得类似的行为.有一些关于它如何在这里和那里工作的演示,例如在YouTube上:http://www.youtube.com/watch?v = Bj- H9uPEa5U
我知道这是一个奇怪而愚蠢的问题,但我很好奇,因为我对python及其工作方式知之甚少.从终端或使用IDLE时,有没有办法在某个屏幕位置打印字符串?
我会试着更好地解释一下:你还记得曾经在Basic制作小程序的旧时代,也许是在Commodore 64,Apple II或ZX Spectrum上吗?那段时间,如果你想在某个位置打印一个字符串,你曾经写过这样的东西:
10 LOCATE 30,40:打印"你好世界"
我只是想知道是否有任何方法告诉python在某个位置打印一个字符串,如果有一种方法可以知道在IDLE窗口中可以实际显示多少列和多少行.
由于英语不是我的母语,我也做了一个模型抽奖,以便更好地解释这个概念:-)
谢谢.

我有一个包含一些HTML代码的字符串,例如:
This is <strong id="c1-id-8">some</strong> <em id="c1-id-9">text</em>
Run Code Online (Sandbox Code Playgroud)
我需要id从每个HTML标签中删除属性,但我对正则表达式没有经验,所以我在互联网上搜索这里和那里,我写了这个模式:[\s]+id=\".*\"
不幸的是,它没有像我期望的那样工作.事实上,我希望正则表达式能够捕获id="随后重复任何次数的任何字符并以最接近的双引号终止; 实际上在这个例子中,我期待抓住id="c1-id-8"和id="c1-id-9".但是相反,模式返回了子串id="c1-id-8">some</strong> <em id="c1-id-9",它找到id="了双引号字符的第一次出现和最后一次出现.
你能告诉我我的模式有什么问题以及如何解决它吗?非常感谢你
我对字符串的SHA1哈希值有一些问题.我正在尝试将用VB.net编写的客户端的文件发送到用PHP编写的服务器.我的问题是,当我将相同的字符串传递给VB.net和PHP时,VB.net计算的SHA1值与PHP计算的值完全不同.
例如,我想在Base64中编码一个字符串,然后计算Base64字符串的SHA1哈希值.当计算机从vb.net版本和PHP版本执行此任务时,我得到两个不同的SHA1值,即使显然Base64编码的字符串是相同的:
VB.net: 2E97A53B09C482A831540B532845BCAC79BFACCF PHP: 350A2080264E2724D4BCBC521C35264D264A1DAF
我肯定错过了什么,你能指出我正确的方向并告诉我这里我做错了什么吗?
非常感谢你
这是VB.net代码:
Dim cInput As String
Dim cBase64 As String
Dim objSHA1 As New SHA1CryptoServiceProvider()
Dim abBytesToHash() As Byte
Dim cHash As String
cInput = "the quick brown fox jumps over the lazy dog"
cBase64 = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(cInput))
abBytesToHash = System.Text.Encoding.ASCII.GetBytes(cBase64)
abBytesToHash = objSHA1.ComputeHash(abBytesToHash)
cHash = BitConverter.ToString(objSHA1.ComputeHash(abBytesToHash))
cHash = Replace(cHash, "-", "")
MsgBox("BASE64: " + cBase64 + vbNewLine + "SHA1: " + cHash)
' Result is:
' BASE64: dGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw==
' SHA1: 2E97A53B09C482A831540B532845BCAC79BFACCF
Run Code Online (Sandbox Code Playgroud)
这是PHP代码:
$cInput …Run Code Online (Sandbox Code Playgroud) 你好,
我实际上正在学习如何使用点击包中的一些元素,并且我希望能够使用该prompt命令从用户那里获取有效日期。
我尝试查找文档,并在http://click.pocoo.org/5/prompts/下找到了这个:
要手动请求用户输入,可以使用prompt()函数。默认情况下,它接受任何 Unicode 字符串,但您可以要求任何其他类型。
所以我编写了这段代码并尝试将类 datetime.datetime 作为所需的输入类型传递:
import datetime
value = click.prompt("Enter a date", type=datetime.datetime)
Run Code Online (Sandbox Code Playgroud)
当我执行此代码时,会出现提示,但在插入有效日期并按 Enter 键后,我收到此错误消息:
回溯(最近一次调用):文件“”,第 1 行,文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/click/termui.py”,第 98 行,在提示 result = value_proc(value) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/click/types.py",第 38 行,在调用 return self.convert (value, param, ctx) 文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/click/types.py”,第 87 行,在转换中返回 self.func(value )类型错误:需要一个整数(得到类型 str)
请您告诉我我在这段代码中做错了什么吗?
基本上我想通过编写类似这段(部分虚构的)代码的内容来获得正确格式化的日期值:
import datetime
value = click.prompt("Enter a date",
type=datetime.datetime,
format="%d/%m/%Y",
default=datetime.datetime.now())
Run Code Online (Sandbox Code Playgroud)
非常感谢
我正在尝试Telepot通过查看counter.py此处提供的示例来研究python库:https://github.com/nickoala/telepot/blob/master/examples/chat/counter.py.
我发现有点难以理解DelegatorBot课程的实际运作方式.
这是我认为到目前为止我所理解的:
我看到最初定义了这个类(派生自"ChatHandler"类):
class MessageCounter(telepot.helper.ChatHandler):
def __init__(self, *args, **kwargs):
super(MessageCounter, self).__init__(*args, **kwargs)
self._count = 0
def on_chat_message(self, msg):
self._count += 1
self.sender.sendMessage(self._count)
Run Code Online (Sandbox Code Playgroud)
然后通过实例化类来创建机器人DelegatorBot:
bot = telepot.DelegatorBot(TOKEN, [
pave_event_space()(
per_chat_id(), create_open, MessageCounter, timeout=10
),
])
Run Code Online (Sandbox Code Playgroud)
我知道DelegatorBot创建了一个新实例并将其放入变量中bot.第一个参数是电报验证此机器人所需的令牌,第二个参数是包含我不理解的内容的列表.
我的意思是这部分:
pave_event_space()(
per_chat_id(), create_open, MessageCounter, timeout=10
)
Run Code Online (Sandbox Code Playgroud)
被pave_event_space()称为一个方法,它返回到另一种方法的参考?然后使用参数调用此返回的方法(per_chat_id(), create_open, MessageCounter, timeout=10)?
对不起,我对YAML和PyYAML都知之甚少,但我很同意支持以"Jekyll"使用的相同风格编写的配置文件的想法(http://jekyllrb.com/docs/frontmatter/)AFAIK有这些"YAML Front Matter"积木,对我来说看起来非常酷和性感.
所以我在我的计算机上安装了PyYAML,并用这个文本块写了一个小文件:
---
First Name: John
Second Name: Doe
Born: Yes
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用此代码使用Python 3.4和PyYAML读取此文本文件:
import yaml
stream = open("test.yaml")
a = stream.read()
b = yaml.load(a)
Run Code Online (Sandbox Code Playgroud)
但显然它不起作用,Python显示此错误消息:
Traceback (most recent call last):
File "<pyshell#62>", line 1, in <module>
b = yaml.load(a) …Run Code Online (Sandbox Code Playgroud) python ×4
typescript ×2
base64 ×1
javascript ×1
jekyll ×1
liquid ×1
npm ×1
php ×1
python-click ×1
python-idle ×1
pyyaml ×1
regex ×1
sha1 ×1
telegram ×1
telepot ×1
tsc ×1
vb.net ×1
yaml ×1