我正在自学python,我正在尝试创建一个密码生成器。我想要程序做的是,生成一个随机密码并将其保存到文本文件中。我在获取密码以保存到文本文件方面有什么问题。我能够获得一个生成的密码,但是我在text_file file.write( output ) NameError中得到了一个错误代码:虽然我已经定义了输出,但没有定义名称'output‘。如果有人能告诉我我做错了什么,我会很感激的。如果需要更多的信息,请告诉我。谢谢
import random
import string
# Generates a password from random.choice
length = int
我的代码接受一个类作为参数,并准备数据来调用相应的对象工厂方法的类的构造函数(如果存在工厂方法)。
在调用构造函数时,一切正常,但我得到错误
java.lang.IllegalArgumentException: No argument provided for a required parameter: instance of fun nz.salect.objjson.JVMTest.StudentWithFactory.Companion.fromJson(kotlin.String, kotlin.Int): nz.salect.objjson.JVMTest.StudentWithF
有人能给点线索吗?
问题代码:
protected var table = HashMap<Class<*>, Double>()
if (table.containsKey(object)) {
value = table.get(object)
}
containsKey(K):不推荐布尔值。Map和Key有不兼容的类型。上榜的人呢?如果你确定
所以我把它改成了这个
if (table.containsKey(object as Any?)
哪个修复了错误,但这就是我应该做的来修复它吗?还是有更好的方法?
另外,.get(object)也有一个错
我想我需要像ruby的splat *这样的东西。
function foo() {
var result = '';
for (var i = 0; i < arguments.length; i++) {
result += arguments[i];
}
return result;
}
function bar() {
return foo(arguments) // this line doesn't work as I expect
}
bar(1, 2, 3);
我想让它返回"123",但我得到的却是
背景:我是kotlin的新手,有一些java方面的经验。
问题:--我正在通过kotlin教程来了解集合和使用sort*函数的方法,但我对语法感到困惑。
使用kotlin sortedByDescending函数编写的代码:
// Return a list of customers, sorted in the descending by number of orders they have made
fun Shop.getCustomersSortedByOrders(): List<Customer> =
customers.sortedByDescendi
我想把几个方法从一个JavaScript对象委托给另一个JavaScript对象。因此,我考虑使用元编程来避免将几个方法定义为委托。到目前为止,我最终使用了这个方法:
function delegate_to(_method, _obj) {
return function(_args) { // One parameter, what's about multiple parameters?
return _obj[_method](_args)
}
}
所以作为一个例子-编码它应该是如何工作的:
var that = {}
var delegate = {}
tha
我的问题是下面的函数和闭包示例,为什么我们需要使用这一行
func sumOf(numbers: Int...)有三个点(.)?
func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
sumOf()
sumOf(42, 597, 12)
这些圆点意味着什么??
我在代码中有一个带有类似注释的函数:
@When("^trying to login or register with email address \"([^\"]*)\"$")
fun whenLoginOrRegister(email: String? = null) {
email?.let { user.email = it }
loginViewModel.whenLoggingIn()
}
Kotlin在这里所做的是根据可选参数的数量来创建函数的两个或多个重载。如何强迫Kotlin只创建一个方法而不是多个方法?最优的方法是只有
用可空字段对对象列表进行最后一次空排序的Kotlin方法是什么?
Kotlin反对排序:
@JsonInclude(NON_NULL)
data class SomeObject(
val nullableField: String?
)
类似于下面的Java代码:
@Test
public void name() {
List<SomeObject> sorted = Stream.of(new SomeObject("bbb"), new SomeObject(null), new SomeObject("aaa"))
我有一个类A,只要它的一个属性发生变化,就需要将其标记为dirty。 看过Kotlin文档后,我知道我需要一个代理。到目前为止,我有: abstract class CanBeDirty {
var isDirty = false
} class A(
// properties getting set in constructor here
) : CanBeDirty {
var property1: String by DirtyDelegate()
var property2: Int by DirtyDelegate()
var property3: CustomObjec
我的打字本代码中有这样的情况:
const first = (value: any[]) => {
}
const test = (...args: any[]) => first(...args);
在函数test中,我传递first函数中的所有参数。first(...args)。
这样做,我得到一个类型记录错误:A spread argument must either have a tuple type or be passed to a rest parameter.(2556)。
我注意到许多关于这个问题的答案,但它们不能解决我的问题。
如何解决这个问题?
情况1:假设我向shell脚本传递了一些参数,如下所示:
./myshell_script a b c d
如果我运行echo $#,它会给我从命令行传递的参数的数量,我将其存储在一个变量中,因为我不知道用户传递的参数的数量
var1 = `echo "$#"`
情况2:$4给出了最后一个参数的名称。
如果我想把它存储在
然后是var2
var2 = $4
我的问题是:
如果我想将从var1获得的值直接存储到var2中,那么在shell脚本中如何实现呢?
对于ex:
./myshell_script.sh a b c
var1 = `echo "$#"`
正在尝试将kotlin测试代码复制到Java。考虑以下类和现有kotlin代码的测试类。
open class ClassX(
val a: ObjectA,
val b: ObjectB,
val c: ObjectC
) {
fun someMethod() {
.....
}
}
以下是其中一个测试
class ClassXTest : ClassX(
a = mock(),
b = mock(),
c = mock()
)
尝试在java中模拟相同的代码。
public class
我惊讶地看到这个程序甚至会编译,但结果更让我吃惊:
import java.util.Collections.swap
fun main(args: Array<String>)
{
val immutableList = List(2) { it } // contents are [0, 1]
swap(immutableList, 0, 1)
println(immutableList) // prints [1, 0]
}
swap函数在库中实现如下:
public static void swap(List<?> list, in
我试图在Kotlin中接受vararg参数作为函数参数,并尝试将它传递给另一个具有vararg参数的函数。但是,它给了我一个编译时的错误,type mismatch: inferred type is IntArray but Int was expected。
Kotlin:
fun a(vararg a: Int){
b(a) // type mismatch inferred type is IntArray but Int was expected
}
fun b(vararg b: Int){
}
但是,如果我在Java中尝试相同的代码,它就能工作。
Java:
void
我想知道在Kotlin中的变量名之前星号到底做了什么。我在上看到了这个()
@SpringBootApplication
open class Application {
@Bean
open fun init(repository: CustomerRepository) = CommandLineRunner {
repository.save(Customer("Jack", "Bauer"))
repository.save(Customer("Chloe", "O'Bri