小编ilj*_*jau的帖子

从 Oracle 中的函数返回游标

我想做的是从函数返回结果,因此函数可以按以下方式使用: select * from stuff(1)

简化函数示例:

FUNCTION stuff(p_var number) RETURN SYS_REFCURSOR
IS

CURSOR cur(cp_var number) IS
    SELECT * FROM dual ;

BEGIN
    OPEN cur(p_var);
    RETURN cur;
END stuff;
Run Code Online (Sandbox Code Playgroud)

但这不能编译: Error: PLS-00382: expression is of wrong type

是否可以从这样定义的函数返回光标/结果?

oracle plsql

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

使用 kotlin 表达式注释

Kotlin 允许对表达式进行注释。然而,尚不清楚这些注释如何有用以及如何使用它们。

假设在下面的示例中我想检查该字符串包含 @MyExpr 注释中指定的数字。这可以实现吗?如何实现?

@Target(AnnotationTarget.EXPRESSION)
@Retention(AnnotationRetention.SOURCE)
annotation class MyExpr(val i: Int) {}

fun someFn() {
    val a = @MyExpr(1) "value#1";
    val b = @MyExpr(2) "value#2";
}
Run Code Online (Sandbox Code Playgroud)

annotations kotlin

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

Kotlin:使Java函数可调用中缀

试图将powBigInteger类中的函数作为具有相同名称的中缀函数提供.

问题是现在中pow缀运算符递归调用自身.

是否可以使用与函数同名的中缀运算符使Java函数可调用?

package experiments

import java.math.BigInteger

infix fun BigInteger.pow(x: BigInteger): BigInteger {
    return this.pow(x);
}

fun main(args : Array<String>) {
    val a = BigInteger("2");
    val b = BigInteger("3");

    println(a + b)
    println(a pow b)
}
Run Code Online (Sandbox Code Playgroud)

原因:

Exception in thread "main" java.lang.StackOverflowError
    at kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull(Intrinsics.java:126)
    at experiments.KotlinTestKt.pow(KotlinTest.kt)
    at experiments.KotlinTestKt.pow(KotlinTest.kt:6)
Run Code Online (Sandbox Code Playgroud)

kotlin

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

如何在python中获取Windows用户的全名?

我正在尝试获取用户的全名.不是登录名,而是显示在Windows 7开始菜单右上角的全名.它可能仅在活动目录设置中显示为全名.

os.environ['USERNAME']
win32api.GetUserName()
Run Code Online (Sandbox Code Playgroud)

这两个都返回登录名.如何获取用户的全名?

python windows winapi username

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

标签 统计

kotlin ×2

annotations ×1

oracle ×1

plsql ×1

python ×1

username ×1

winapi ×1

windows ×1