标签: modifier

为什么"long int"与"int"具有相同的大小?这个修饰符是否有效?

嗯..我很喜欢这样的修饰符,如/扩展/减少创建变量时分配的内存量,但是......

#include <stdio.h>

#define test_int int
#define long_int long int
#define long_long_int long long int

void main()
{
    printf("%i\n", sizeof (test_int)); //output 4
    printf("%i\n", sizeof (long_int)); //output 4. Why? wasn't I modified it's size?
    printf("%i\n", sizeof (long_long_int)); //output 8
}
Run Code Online (Sandbox Code Playgroud)

由于未知原因,它将intlong int的大小打印为相同.我使用的是vc ++ 2010 express版.对不起,很难在谷歌找到答案,它总是显示int作为单独的类型.

c c++ int modifier

10
推荐指数
2
解决办法
7006
查看次数

在 Raku 正则表达式中转义元字符(如 Perl 的 quotemeta() 或 \Q...\E)?

如何像使用 Perl 的quotemeta 函数( \Q..\E) 那样转义 Raku 正则表达式中的元字符?

也就是 Perl 代码

my $sentence = 'The quick brown fox jumped over the lazy dog';
my $substring = 'quick.*?fox';
$sentence =~ s{$substring}{big bad wolf};
print $sentence
Run Code Online (Sandbox Code Playgroud)

将每个.*、 和?视为元字符,从而打印The big bad wolf jumped over the lazy dog。但是如果我将倒数第二行更改为$sentence =~ s{\Q$substring\E}{big bad wolf};,那么 Perl 会将其.*?视为文字字符,从而打印The quick brown fox jumped over the lazy dog

如何按字面意思处理 Raku 正则表达式中的字符?

regex escaping modifier quotemeta raku

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

如何在bash shell中链接文件名修饰符?

我理解修饰符### %%%,但我无法弄清楚它是否可以在tcsh中将它们链接在一起.

tcsh中的示例

set f = /foo/bar/myfile.0076.jpg
echo $f:r:e
--> 0076

echo $f:h:t
--> bar
Run Code Online (Sandbox Code Playgroud)

在bash中,我想知道如何做以下事情:

echo ${f%.*#*.}
Run Code Online (Sandbox Code Playgroud)

在一条线上.

我的目标是能够在命令行上根据需要以各种方式操作文件名.我不是要为一个特定的案例编写脚本.因此,如果有一种方法可以链接这些修饰符,或者可能有另一种方式,那么我很想知道.谢谢

bash modifier chain

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

如何在perl中将变量用作正则表达式修饰符?

我正在编写一个抽象函数,它将询问用户一个给定的问题,并根据给定的正则表达式验证答案.重复该问题,直到答案与验证正则表达式匹配.但是,我还希望客户端能够指定答案是否必须符合大小写.所以像这样:

sub ask {
    my ($prompt, $validationRe, $caseSensitive) = @_;
    my $modifier = ($caseSensitive) ? "" : "i";
    my $ans;
    my $isValid;

    do {
        print $prompt;
        $ans = <>;
        chomp($ans);

        # What I want to do that doesn't work:
        # $isValid = $ans =~ /$validationRe/$modifier;

        # What I have to do:
        $isValid = ($caseSensitive) ?
            ($ans =~ /$validationRe/) :
            ($ans =~ /$validationRe/i);

    } while (!$isValid);

    return $ans;
}
Run Code Online (Sandbox Code Playgroud)

Upshot:有没有办法动态指定正则表达式的修饰符?

regex perl dynamic case-sensitive modifier

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

Jetpack Compose - 修饰符顺序

文档说修饰符是从左边应用的。但从这个例子来看,它们似乎是从右侧应用的:首先边框,然后填充,因为文本和边框之间没有空格

Text("Hi there!", Modifier.padding(10.dp).border(2.dp, Color.Magenta))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

android modifier android-jetpack android-jetpack-compose

8
推荐指数
3
解决办法
2449
查看次数

折叠修改器中的折叠

我有一个关于 jetpack compose 修改器的问题。我不明白折叠和折叠,它们是什么以及何时可以使用它们?谢谢

android modifier android-jetpack-compose

8
推荐指数
0
解决办法
825
查看次数

你如何迫使Perl重新编译一个用"/ o"编译的正则表达式?

技术问题:

鉴于正则表达式:

my $regEx = qr{whatever$myVar}oxi; # Notice /o for "compile-once"
Run Code Online (Sandbox Code Playgroud)

什么是迫使它按需重新编译的最有效方法?(例如,当我从程序逻辑中知道$myVar值已经改变时)没有掉线/o并依赖于Perl的内部智能来自动重新编译?

注意:正则表达式用于替换,这可能会影响重新编译规则sans/o:

$string2 =~ s/$regEx//;
Run Code Online (Sandbox Code Playgroud)

背景是:

  • 我有一个正则表达式,它是通过从配置文件中插入一个相当长(> 1k长)的字符串构建的.

    • 该文件每60分钟重新读取一次.

    • 如果从文件读取的字符串发生更改(通过更改文件时间戳定义),我想使用重新标记的字符串值重新编译正则表达式$myVar.

  • 在mod_perl下运行的Perl模块中重复使用正则表达式.

    • 这意味着(加上字符串长度> 1-2k)我必须使用" /o"修饰符强制在正则表达式上编译一次,以避免Perl的性能损失反复检查变量值是否发生变化(此启发式来自perlop qr//,自正则表达式用作s///上面所示的一部分,而不是作为匹配本身.

    • 这反过来意味着,当我知道变量在1小时内重新润滑后发生变化时,我需要强制正则表达式重新编译,尽管/o修饰符.

更新:这里是我需要的例子/o- 没有它,每次循环迭代都会重新编译正则表达式(因而必须检查); 它不是:

$ perl -e '{for (my $i=0; $i<3; $i++) {
                 my $re = qr{$i}oix; $s="123"; $s =~ s/$re//; 
                 print "i=$i; s=$s\n"; }}'
i=0; s=123
i=1; s=123
i=2; s=123

$ perl …
Run Code Online (Sandbox Code Playgroud)

regex perl compilation modifier

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

在块输出上应用Smarty修改器

我正在尝试将一个修饰符(truncate在我的例子中)应用于块的输出(一个tr块,即一个转换块).我没有tr作为修饰符,因为它不方便HTML标记.

我真的不知道我应该使用什么样的语法,也不知道它是否被允许(给定,我对块的使用可能有点时髦).

如果它有任何意义的话:

{{tr}Really long text I want to be translated then truncated{/tr}|truncate}

php block smarty modifier

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

在正则表达式中使用代码块时“不一致”的匹配结果 [Raku]

在检查和测试正则表达式的各个方面时,我偶然发现了一种奇怪且“不一致”的行为。我试图在正则表达式中使用一些代码,但同样的行为也适用于使用 void 代码块。特别是最让我感动的是,当我互换 :g 与 :x 修饰符时,匹配结果的差异。

以下代码片段描述了“不一致”的行为。

首先没有代码块:

use v6.d;

if "test1 test2 test3 test4" ~~ m:g/ (\w+) / {
    say ~$_ for $/.list;
}
Run Code Online (Sandbox Code Playgroud)

结果:

test1
test2
test3
test4
Run Code Online (Sandbox Code Playgroud)

然后使用 :g 修饰符和代码块:

use v6.d;

if "test1 test2 test3 test4" ~~ m:g/ (\w+) {} / {
    say ~$_ for $/.list;
}
Run Code Online (Sandbox Code Playgroud)

结果:

test4
Run Code Online (Sandbox Code Playgroud)

最后使用 :x 修饰符和代码块

use v6.d;

if "test1 test2 test3 test4" ~~ m:x(4)/ (\w+) {} / {
    say ~$_ for $/.list;
}
Run Code Online (Sandbox Code Playgroud)

结果:

test1
test2
test3
test4 …
Run Code Online (Sandbox Code Playgroud)

regex modifier match raku

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

在 SwiftUI 中,是否可以仅对某个操作系统目标使用修饰符?

再会!在 SwiftUI 中,是否可以仅对某个操作系统目标使用修饰符?在下面的代码中,我想仅将修饰符 .listStyle(SidebarListStyle()) 用于 MacOS 目标,因为它不存在于 iOS 目标。谢谢你的帮助。

import SwiftUI

struct ContentView: View {

  @State var selection: Int?

  var body: some View {

    HStack() {
      NavigationView {
        List () {
          NavigationLink(destination: FirstView(), tag: 0, selection: self.$selection) {
            Text("Click Me To Display The First View")
          } // End Navigation Link

          NavigationLink(destination: SecondView(), tag: 1, selection: self.$selection) {
            Text("Click Me To Display The Second View")
          } // End Navigation Link

        } // End list
        .frame(minWidth: 350, maxWidth: 350)
        .onAppear {
            self.selection …
Run Code Online (Sandbox Code Playgroud)

macos modifier target ios swiftui

7
推荐指数
3
解决办法
2152
查看次数