长话短说:pythonw.exe什么都不做,python.exe什么都不接受(我应该使用哪一个?)
test.py:
print "a"
Run Code Online (Sandbox Code Playgroud)
CMD窗口:
C:\path>pythonw.exe test.py
<BLANK LINE>
C:\path>
C:\path>python.exe test.py
File "C:\path\test.py", line 7
print "a"
^
SyntaxError: invalid syntax
C:\path>
Run Code Online (Sandbox Code Playgroud)
请告诉我,我做错了什么.
我在eclipse中检查了一个来自SVN的Java项目,并意识到它需要Java 8,因为它使用了lambdas等.我为Java 8安装了eclipse插件并重新启动了eclipse,并且项目设置如下:

我注意到在底部附近,它表示默认的编译器合规性是1.7,所以我进入org.eclipse.jdt.core.prefs并设置编译器合规性变量1.8,根据
这个答案.但是,在Project - > Preferences - > Java Compiler中,它仍然显示为:

我在Project - > Java Build Path中设置了JRE:

然而,编译器拒绝编译lambda表达式 - 我得到的错误看起来就像我继续将其输入到Java 7中所得到的错误.
这是我正在使用的eclipse版本
Version: Kepler Service Release 1
Build id: 20130919-0819
Run Code Online (Sandbox Code Playgroud)
解决此问题的唯一方法是安装新版本的Eclipse还是我在配置中遗漏了一些东西?
这存在吗?
我需要解析一个字符串,如:
the dog from the tree
Run Code Online (Sandbox Code Playgroud)
得到类似的东西
[[null, "the dog"], ["from", "the tree"]]
Run Code Online (Sandbox Code Playgroud)
我可以在Ruby中使用一个RegExp和String#scan.
JavaScript String#match无法处理这个,因为它只返回RegExp匹配的内容而不是捕获组,所以返回类似的内容
["the dog", "from the tree"]
Run Code Online (Sandbox Code Playgroud)
因为我String#scan在Ruby应用程序中多次使用过,如果有一种快速的方法可以在我的JavaScript端口中复制这种行为,那将会很好.
编辑:这是我正在使用的RegExp:http://pastebin.com/bncXtgYA
这是交易.我有一个大字符数组,我试图操纵它.这是我用来测试这个想法的一些代码:
#include <stdio.h>
char r[65536],*e=r;
main() {
e+=8;
while(*e) {
*e+=1;
e+=5;
*e-=1;
e-=1;
}
*e+=1;
printf("%i",*e);
printf(" %c",e);
}
Run Code Online (Sandbox Code Playgroud)
它应该做的是:
它能做什么:
1 ?
Run Code Online (Sandbox Code Playgroud)
而不是
40 (
Run Code Online (Sandbox Code Playgroud)
^^ 8 x 5 = 40,这就是它应该显示的内容.
接受任何提示/建议/批评.
我有字符串,"111221"并希望匹配所有连续的相等整数集:["111", "22", "1"].
我知道有一个特殊的正则表达式可以做到这一点,但我不记得了,我在Googling很糟糕.
我有一个类的对象,我想用它复制它dup.其中一个实例变量是一个数组,它似乎引用了它.我以为dup实际上创造了一个DUPLICATE.
这是我的IRB会议:
irb(main):094:0> class G
irb(main):095:1> attr_accessor :iv
irb(main):096:1> def initialize
irb(main):097:2> @iv = [1,2,3]
irb(main):098:2> end
irb(main):099:1> end
=> nil
irb(main):100:0> a=G.new
=> #<G:0x27331f8 @iv=[1, 2, 3]>
irb(main):101:0> b=a.dup
=> #<G:0x20e4730 @iv=[1, 2, 3]>
irb(main):103:0> b.iv<<4
=> [1, 2, 3, 4]
irb(main):104:0> a
=> #<G:0x27331f8 @iv=[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
我希望a不会改变,因为dup创建一个全新的变量,而不是引用.
另请注意,如果[1,2,3]要用标量替换G::initialize,dup则不会引用它.
打开irb并且
gets.它应该工作正常.system("choice /c YN")它应该按预期工作.gets一次,它表现得很奇怪.谁能告诉我为什么会这样?
编辑:有关"奇怪"行为的一些说明,它允许我键入gets,但不显示字符,我必须按两次回车键.
有人可以指导我在Ruby中写入新信息之前清理文件中所有现有内容 的方法吗?我正在使用以下代码编写此文件的内容:
logfile = File.new(filepath, "w")
logfile.write("my content")
Run Code Online (Sandbox Code Playgroud)
但是,我希望在向其写入新信息之前删除此"日志文件"中的所有现有内容.我怎样才能做到这一点?
有人能告诉我为什么在世界上这不起作用?下面的代码是文件的全部内容prog.rb
class String
def to_b
return true if self == "true"
false
end
end
Run Code Online (Sandbox Code Playgroud)
这是错误:
path/prog.rb:1: syntax error, unexpected keyword_def, expecting
<' or ';' or '\n'
return true if self =...
^
Run Code Online (Sandbox Code Playgroud)
文件中没有坏字符,我使用的是Ruby 1.9.3.代码在IRB中进行测试,发现可以正常工作.
这是一个错误吗?
谢谢
我的Windows机器上有一个相当大的JSON文件,它包含类似的东西\xE9.当JSON.parse它,它工作正常.
但是,当我将代码推送到运行CentOS的服务器时,我总是这样: "\xE9" on US-ASCII (Encoding::InvalidByteSequenceError)
这是file两台机器的输出
视窗:
? file data.json
data.json: UTF-8 Unicode English text, with very long lines, with no line terminators
Run Code Online (Sandbox Code Playgroud)
CentOS的:
$ file data.json
data.json: UTF-8 Unicode English text, with very long lines, with no line terminators
Run Code Online (Sandbox Code Playgroud)
这是我在尝试解析它时遇到的错误:
$ ruby -rjson -e 'JSON.parse(File.read("data.json"))'
/usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/json/common.rb:155:in `encode': "\xC3" on US-ASCII (Encoding::InvalidByteSequenceError)
Run Code Online (Sandbox Code Playgroud)
什么可能导致这个问题?我已经尝试使用iconv将文件更改为我可以使用的每种可能的编码,但似乎没有任何工作.
ruby ×7
java ×2
regex ×2
batch-file ×1
c ×1
dup ×1
eclipse ×1
encoding ×1
javascript ×1
json ×1
oop ×1
pointers ×1
python ×1
python-3.x ×1
windows ×1