我似乎有不同的版本rustc
和cargo
(我认为),
$ rustc -V
rustc 1.9.0 (e4e8b6668 2016-05-18)
$ cargo -V
cargo 0.10.0-nightly (10ddd7d 2016-04-08)
Run Code Online (Sandbox Code Playgroud)
有没有类似的命令
pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)
升级cargo
?就是这样的
cargo install --upgrade cargo
Run Code Online (Sandbox Code Playgroud) 我有以下输入,
OK SYS 10 LEN 20 12 43
1233a.fdads.txt,23 /data/a11134/a.txt
3232b.ddsss.txt,32 /data/d13f11/b.txt
3452d.dsasa.txt,1234 /data/c13af4/f.txt
.
Run Code Online (Sandbox Code Playgroud)
我想提取除包含" OK SYS 10 LEN 20
"的行和包含单个"."
(点)的最后一行之外的所有输入.也就是说,我想提取以下内容
1233a.fdads.txt,23 /data/a11134/a.txt
3232b.ddsss.txt,32 /data/d13f11/b.txt
3452d.dsasa.txt.1234 /data/c13af4/f.txt
Run Code Online (Sandbox Code Playgroud)
我试过以下,
for item in output:
matchObj = re.search("^(?!OK) | ^(?!\\.)", item)
if matchObj:
print "got item " + item
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为它不会产生任何输出.
是否可以在Kotlin类中初始化块companion object
之前init
?如果是这样,怎么样?如果没有,有没有办法完成同样的事情.
我有以下场景,
class A(val iname: String) {
init {
foo.add(this)
}
companion object B {
@JvmField val STATIC = A("hi")
@JvmField val foo = mutableListOf<A>()
}
fun printAllStatics() {
for (a in foo) {
print(a.iname)
}
}
}
Run Code Online (Sandbox Code Playgroud)
并且调用printAllStatics
导致空指针异常.
这两个特征(std :: ops :: Add,core :: ops :: Add)提供相同的功能,并且它们都使用相同的示例(两者都使用std::ops::Add
).他们的实施者有所不同.
应该默认使用std::ops::Add
吗?为什么两者相对而存在呢?
有一段源代码源于对我的另一个问题的回答,
infFromPrefix :: Eq a => ([a] -> [a]) -> [a] -> [a]
infFromPrefix rules prefix = inf where
inf = prefix ++ case stripPrefix prefix (rules inf) of
Just suffix -> suffix
Nothing -> error "Substitution does not preserve prefix"
Run Code Online (Sandbox Code Playgroud)
我在哪里敢肯定,inf
一定是一个封闭物,它可以访问来自于它使用传递给参数的意义及其封闭的范围变量infFromPrefix
,但由于本质上是不确定infFromPrefix
和inf
相同的功能,inf
只允许一个更简洁的定义.等价的定义是
infFromPrefix rules prefix = prefix ++ case stripPrefix prefix (rules $ infFromPrefix rules prefix) of
Just suffix -> suffix
Nothing -> error "Substitution does not preserve …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Haskell进行虚拟shell体验.我的意思是,我的意思是创建一个程序,当从终端窗口执行时,将您带入一个环境,允许您执行熟悉的命令的子集(例如,cd
和mkdir
)等.
文件系统将完全是虚拟的,因为它不会触及磁盘上的任何内容.
我的初始草图(下图)感觉很笨,事实上,组成一个MWE是一个拖累,我非常不习惯在功能上表示数据结构,并希望得到一些关于如何扭转这种体验的指针.任何有可用源代码的参考程序都会有所帮助,任何提示或思路都会有所帮助.
我写了以下内容
import qualified Data.Map as Map
import qualified Data.Either as Either
type Name = String
type Content = String
type Error = String
data DiskEntry = File Name Content
| Directory {name :: Name
, entries :: Map.Map String DiskEntry
} deriving (Show)
-- | The 'mkdir' function creates a new directory inside the given
-- directory. Attempts to create a 'DiskEntry' with the name 'name'
-- inside the given 'directory'. If an …
Run Code Online (Sandbox Code Playgroud) 我理解为什么枚举构造函数不能访问枚举本身中的静态字段和方法,以及为什么在类中允许这样做.以下是代码示例,
import java.util.ArrayList;
import java.util.List;
public enum Foo {
A("Some string"),
B("Some other string"),
;
static List<String> list = new ArrayList<>();
Foo(String description) {
list.add(description);
}
}
Run Code Online (Sandbox Code Playgroud)
此代码导致编译时错误illegal reference to static field from initializer
.
在静态字段全部初始化之前调用枚举构造函数.在上面的例子中,这意味着list
尚未初始化.这是因为静态字段按文本顺序初始化(第12.4.2节)
接下来,按文本顺序执行类的类变量初始值设定项和类的静态初始值设定项,或接口的字段初始值设定项,就好像它们是单个块一样.
(强调我的)
并且因为枚举值本身总是在任何其他字段(包括静态字段)之前,所以它们不可用于枚举构造函数,即枚举值之前没有静态字段A
,并且B
.
但是,这是我的问题,为什么"私有"(包含在类中)enum
可以访问其封闭类的静态字段,无论枚举是否出现在---或---静态之后字段?特别是,在Java规范中指定了哪个?
请参阅以下代码以供参考
import java.util.ArrayList;
import java.util.List;
public class Bar {
static List<String> first = new ArrayList<>();
enum Baz {
A("Some string"),
B("Some other string"),
;
Baz(String description) …
Run Code Online (Sandbox Code Playgroud) 是否有可能在Haskell中定义约束类型,即我希望能够表达,
Prelude> let legalCharacters = ' ':['A'..'Z']
Prelude> legalCharacters
" ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Run Code Online (Sandbox Code Playgroud)
作为一种类型,如果可能的话.
haskell types functional-programming immutability value-type
我正在尝试构建一个有助于简化研究工作的工具,并且似乎需要检测何时我在一列中的数据中有递增序列,而在另一列中有 asc/desc 序列。
有没有一种干净的方法来检查行中是否有序列,而不必编写像/sf/answers/3687559921/这样迭代行的状态机?编写这样一段代码必须检查一列中的值是否在递增(无间隙),而另一列中的值是否为 asc/desc(无间隙)。我完全能够做到这一点,我只是想知道我的 Pandas 工具箱中是否有我遗漏的东西。
这里有一些例子来阐明我的意图,
import pandas as pd
from collections import namedtuple
QUERY_SEGMENT_ID_COLUMN = 'Query Segment Id'
REFERENCE_SEGMENT_ID_COLUMN = 'Reference Segment Id'
def dataframe(data):
columns = [QUERY_SEGMENT_ID_COLUMN, REFERENCE_SEGMENT_ID_COLUMN]
return pd.DataFrame(data, columns=columns)
# No sequence in either column. No results
data_without_pattern = [[1, 2], [7, 0], [3, 6]]
# Sequence in first column, but no sequence in second column. No results
data_with_pseodo_pattern_query = [[1, 2], [2, 0], [3, 6]]
# Sequence in second column, but …
Run Code Online (Sandbox Code Playgroud) 在搜索Lombok功能列表,特别是Getter/Setter和@Value
注释的文档之后,我无法找到任何抑制生成代码的设置@Getter
.
在实践中,@ Value是简写:final @ToString @EqualsAndHashCode @AllArgsConstructor @FieldDefaults(makeFinal = true,level = AccessLevel.PRIVATE)@Getter
这很重要,因为我不想泄漏对本身可变的对象的引用.
有效的Java在"项目39:在需要时制作防御性副本"中引用了此类问题.似乎@Wither
可以通过制作实际的防御副本来部分解决这个问题,但我想避免泄露属性,无论它们是多么可变.
虽然可以滚动一个自己的@Value
注释,省略了@Getter
我的意思,当然,如果这样的设置已经存在,那么就不喜欢为代码库添加不必要的复杂性.