当我输入iex -S mix
PowerShell时,我收到此错误:
Invoke-Expression : A positional parameter cannot be found that accepts argument 'mix'.
At line:1 char:1
+ iex S mix
+ ~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-Expression], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeExpressionCommand
Run Code Online (Sandbox Code Playgroud)
在'iex'命令之后编写'-S mix'以获得在cmd中输入相同效果的正确方法是什么?我不相信PowerShell语法,这是一个问题.
我很困惑如何在Kotlin中创建一个无限序列来用于懒惰评估.
在Java中:
IntStream.iterate(0, i -> i + 2)
.limit(100)
.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
但是序列似乎比Java流更令人困惑.它的序列构造函数令人困惑,因为它说:
/**
* Given an [iterator] function constructs a [Sequence] that returns values through the [Iterator]
* provided by that function.
* The values are evaluated lazily, and the sequence is potentially infinite.
*/
Run Code Online (Sandbox Code Playgroud)
但是我不知道迭代器函数意味着什么或如何制作一个.
Sequence { iterator(arrayOf<Int>()) }
.forEach { print(it) }
Run Code Online (Sandbox Code Playgroud)
我有这个编译,但显然不打印任何东西.我认为我的迭代器功能没有任何意义.它需要一个不带参数的函数并返回一个迭代器,它与Java .iterate
函数完全不同.Iterator碰巧有一个构造函数,它接受一个数组,如果我有一个数据集可以在一个数组中工作,但我没有.我想要一个无限的序列.
没有.limit
,所以我以前尝试添加一个,.reduce
但争论.reduce
更令人困惑.我认为应该有一个,.toList
但我知道它不起作用,所以我没有尝试.
如果有人会告诉我如何在Kotlin中实现上述Java代码,那将会有很大帮助.
如何通过将每一行附加到上面的行来将二维数组展平为一维数组?
我的问题是不明白如何使用 map 来做到这一点,因为其他函数式语言有一个 flatmap/(在此处插入类似的名称)函数来做到这一点。
let colors = Array2D.init 800 480 (fun i j ->
if i % 3 = 0 || j % 3 = 0 then Color.Black
else Color.Red)
let data = colors |> map (fun c -> c)
Run Code Online (Sandbox Code Playgroud)
我将如何使用 map 以便将 map 的返回类型更改为一维数组?
我正在尝试在 fedora 上运行 virtualenv。我得到以下输出。
在同一个会话中,我做了 PYTHONHOME=/usr/bin/python2.7 和 PYTHONPATH=/lib/python2.7
Traceback (most recent call last):
File "/usr/bin/virtualenv", line 7, in <module>
from virtualenv import main
File "/usr/lib/python2.7/site-packages/virtualenv.py", line 16, in <module>
import base64
File "/usr/lib64/python2.7/base64.py", line 9, in <module>
import struct
File "/usr/lib64/python2.7/struct.py", line 1, in <module>
from _struct import *
ImportError: No module named _struct
Run Code Online (Sandbox Code Playgroud) 我尝试的任何方式,无论是主要构造函数还是辅助构造函数,我都无法弄清楚如何在kotlin中使用超类和构造函数声明一个新类.
class myPanel : JPanel {
myPanel() : super() {
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我最喜欢做的事情,但它给出了一个期待成员声明的错误.
class myPanel() : JPanel() {
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
这是我认为主要构造函数看起来如何,但它给出了相同的错误.搜索互联网并没有帮助,我能找到的只是第二个例子.
那么,使用超类及其构造函数创建类的所有有效方法是什么?
我有一个从Web套接字收到的字符串:
let websocket = new ClientWebSocket()
let source = new CancellationTokenSource()
let buffer = ArraySegment(Array.zeroCreate 32)
do! websocket.ConnectAsync(url, source.Token)
do! websocket.ReceiveAsync(buffer, source.Token)
let str = Encoding.ASCII.GetString buffer.Array
let trim1 = Regex.replace str "\0" String.Empty // result is empty string
let trim2 = Regex.replace str "\\0" String.Empty // result is empty string
let trim3 = str.TrimEnd [| '\\'; '0' |] // result is untouched
Run Code Online (Sandbox Code Playgroud)
我显然试图削减多余的空字符
在调试器中,str的值为"{\"type \":\"hello \"}\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
打印时看起来像:{"type":"hello"}这是有道理的,符号正在被正确解释.
我似乎无法在f#中完成这个简单的任务,我做错了什么?
我有一个问题,我要找到一个字符串作为回文的所有子串.输入总是1个字.测试输入是aabaa.我决定尝试聪明并创建我的子串的字符串缓冲区然后使用reverse方法与使用String.equals的原始方法进行比较.它没用.
import java.util.*
fun main(args: Array<String>) {
val scan = Scanner(System.`in`)
val input = scan.next()
val found = ArrayList<String>()
for (i in 0..input.length - 1) {
for (j in 0..input.length - i) {
val sub = input.substring(i, i + j)
if (!found.contains(sub)) {
// println(sub)
found.add(sub)
val rev = StringBuffer(sub).reverse()
if (sub.equals(rev)) {
println(rev)
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我取消注释第一个print语句时,输出看起来像使用测试输入aabaa
a
aa
aab
aaba
aabaa
ab
aba
abaa
b
ba
baa
Run Code Online (Sandbox Code Playgroud)
所以我得到了正确的子串,但最后一个if语句永远不会解析为真,我不知道为什么会这样.
kotlin ×3
f# ×2
elixir ×1
java ×1
linux ×1
null ×1
powershell ×1
python ×1
string ×1
virtualenv ×1