小编sag*_*aga的帖子

为什么通用生命周期不符合嵌套范围的较小生命周期?

根据Rust编程语言:

由于示波器总是窝,另一种说法.这是一个通用的寿命'a将得到具体的寿命相等的寿命的小xy.

fn main() {
    let x = "abcd";
    let result;
    {
        let y = "qwerty";
        result = longest(x, y);
    }
    println!("The longest string is {}  ", result);

}

fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
    if x.len() > y.len() {
        x
    } else {
        y
    }
}
Run Code Online (Sandbox Code Playgroud)

在main函数中,"x和y的生命周期中较小的"是嵌套范围.这也应该是值的生命周期result,但结果包含来自该嵌套范围外部的正确值.

为什么这段代码正常工作?

scope lifetime rust

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

为什么`android:foreground`属性不起作用?

看看这个小的Android应用程序:

MainActivity.java:

package io.github.gsaga.toucheventtest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}
Run Code Online (Sandbox Code Playgroud)

activity_main:

<ImageView android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:foreground="@drawable/ic_launcher_background"
    xmlns:android="http://schemas.android.com/apk/res/android" />
Run Code Online (Sandbox Code Playgroud)

指示的图像android:foreground不会显示,但如果我更改foregroundsrcbackground中,则会显示activity_main.xml.此代码似乎遵循此处描述的说明:

https://developer.android.com/reference/android/view/View.html#attr_android:foreground

为什么android:foreground标签在上面的代码中不起作用?

注意:

minSdkVersion是的19,我正在运行这个应用程序Android 5.1(API level 22)

xml android android-layout

9
推荐指数
2
解决办法
6784
查看次数

声明注解和类型注解的区别

Java 8 通过 JSR308 引入了类型注释。根据Java语言规范

类型注释可以用在任何使用类型的地方,例如声明、泛型参数、强制转换等。

我对Java比较陌生,Java 8是我使用的第一个java版本,所以我不熟悉非“类型注释”,即声明注释。

声明注释与类型注释有何不同?我想知道,因为我不断在手册中听到它们,并且看起来“类型注释”是“声明注释”的超集。

java annotations jls type-annotation

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

swagger 编辑器中的多行字符串

如果我将以下规范粘贴到 editor.swagger.io 中:

openapi: 3.0.0
info:
  title: Callback Example
  version: 1.0.0
paths:
  /streams:
    post:
      description: |
        first line
        second line
        third line
      responses:
        '201':
          description: subscription successfully created
          content:
            application/json:
              schema:
                description: subscription information
                required:
                  - subscriptionId
                properties:
                  subscriptionId:
                    description: this unique identifier allows management of the subscription
                    type: string
                    example: 2531329f-fb09-4ef7-887e-84e648214436

Run Code Online (Sandbox Code Playgroud)

描述呈现在一行上:

first line second line third line
Run Code Online (Sandbox Code Playgroud)

尽管 yaml 规范规定块样式字符串保留换行符:https://yaml-multiline.info/

如何在 swagger 编辑器中使用多行字符串?

yaml swagger swagger-ui

6
推荐指数
2
解决办法
6242
查看次数

Jvm:编译器需要在方法字节码中的哪些位置指定堆栈映射帧?

这是asm用户指南的摘录:

为了节省空间,编译方法每个指令不包含一个帧:实际上它只包含与跳转目标或异常处理程序相对应的指令的帧,或者遵循无条件跳转指令.实际上,可以从这些框架中容易且快速地推断出其他框架.

我可以理解为什么jvm需要跳转目标和异常处理程序的堆栈映射帧,但是goto在不必要的需求之后不需要有堆栈映射帧,因为在方法字节码中的某处必须有一个跳转指令在指令之后的goto指令,该情况将由第一个要求处理.它必须是这样的,否则后面的指令goto将无法访问,因此是可丢弃的.

例:

下面给出了一个方法及其字节码:

public class t {
    public static void main(String[] s) {
        int i = 10;
        while ( i > 0 ) {
            i = i + 1;
        }
        int j = 10;
    }
}



  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
         0: bipush        10
         2: istore_1
         3: iload_1
         4: ifle          14
         7: iload_1
         8: iconst_1
         9: iadd
        10: istore_1
        11: goto          3 …
Run Code Online (Sandbox Code Playgroud)

java jvm bytecode java-bytecode-asm

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

返回第一个参数的函数有什么用?

看看这个函数。该函数接受两个参数并返回传递的第一个参数。这样的功能怎么会有用呢?

java jvm arguments function parameter-passing

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

jvm dup 指令的使用案例

Java字节码指令集提供了多种形式的dup指令。我无法理解这些说明和swap说明如何有用。编译时,哪些 Java 代码会使用这些指令生成字节码?

java jvm bytecode java-bytecode-asm

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

查询gitlab访问令牌的访问权限

假设我有一个 gitlab 访问令牌(由用户生成并提供给应用程序)。我可以通过实际尝试读取一些数据并查看该操作是否成功来发现该令牌是否可用于从存储库中读取。

如何确定该令牌是否具有特定存储库的写入权限(进行提交)?

rest access-token gitlab gitlab-api

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

lua中同时定义和调用函数

在 javascript 中,可以通过同时定义和调用函数来快速创建闭包,如下所示:

function() {
    local something = 1;
    return function () {
        // something
    }
}()
Run Code Online (Sandbox Code Playgroud)

是否可以在 中做同样的事情lua

javascript lua closures

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

从kotlin中的集合中过滤掉非空值

看看这个kotlin one liner:

val nonNullArr : List<NonNullType> = nullArray.filter {it != null}
Run Code Online (Sandbox Code Playgroud)

编译器在此行给出类型错误,表示无法将空列表分配给非空值列表.但过滤条件确保列表仅包含非空值.有没有类似于!!运算符的东西,我可以在这种情况下使用这个代码编译?

null nullable kotlin kotlin-null-safety

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