小编Gra*_*mes的帖子

无法从PowerShell运行elixir应用程序

当我输入iex -S mixPowerShell时,我收到此错误:

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语法,这是一个问题.

powershell elixir

8
推荐指数
2
解决办法
1304
查看次数

具有迭代器功能的Kotlin无限序列

我很困惑如何在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代码,那将会有很大帮助.

kotlin

6
推荐指数
1
解决办法
3741
查看次数

f# 将二维数组展平为一维数组

如何通过将每一行附加到上面的行来将二维数组展平为一维数组?

我的问题是不明白如何使用 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 的返回类型更改为一维数组?

f#

5
推荐指数
1
解决办法
2178
查看次数

virtualenv ImportError:没有名为 _struct 的模块

我正在尝试在 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)

python linux virtualenv

5
推荐指数
0
解决办法
6019
查看次数

Kotlin构造函数与超级

我尝试的任何方式,无论是主要构造函数还是辅助构造函数,我都无法弄清楚如何在kotlin中使用超类和构造函数声明一个新类.

class myPanel : JPanel {
    myPanel() : super() {

    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我最喜欢做的事情,但它给出了一个期待成员声明的错误.

class myPanel() : JPanel() {
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我认为主要构造函数看起来如何,但它给出了相同的错误.搜索互联网并没有帮助,我能找到的只是第二个例子.

那么,使用超类及其构造函数创建类的所有有效方法是什么?

kotlin

4
推荐指数
2
解决办法
9136
查看次数

F#修剪空字符

我有一个从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#中完成这个简单的任务,我做错了什么?

null f#

4
推荐指数
1
解决办法
694
查看次数

jvm比较String和StringBuffer.reverse()总是失败

我有一个问题,我要找到一个字符串作为回文的所有子串.输入总是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语句永远不会解析为真,我不知道为什么会这样.

java string kotlin

1
推荐指数
1
解决办法
90
查看次数

标签 统计

kotlin ×3

f# ×2

elixir ×1

java ×1

linux ×1

null ×1

powershell ×1

python ×1

string ×1

virtualenv ×1