标签: expansion

Fileset/patternset的refid属性未展开.你如何编写一个对任意文件集进行操作的目标?

我有一组目标,每个目标基本上都是相同的,除了每个目标包含一个特定的模式集,在其上执行其任务.我想将这些目标折叠成一个"可重用"的目标,而是将一组文件"作为参数".

例如,这个

<target name="echo1">
  <foreach item="File" property="fn">
    <in>
      <items>
        <include name="*.config"/>
      </items>
    </in>
    <do>
      <echo message="${fn}" />
    </do>
  </foreach>
</target>

<target name="echo2">
  <foreach item="File" property="fn">
    <in>
      <items>
        <include name="*.xml"/>
      </items>
    </in>
    <do>
      <echo message="${fn}" />
    </do>
  </foreach>
</target>

<target name="use">
  <call target="echo1"/>
  <call target="echo2"/>
</target>
Run Code Online (Sandbox Code Playgroud)

将被替换为

<patternset id="configs">
   <include name="*.config"/>
</patternset>

<patternset id="xmls">
   <include name="*.xml"/>
</patternset>

<target name="echo">
  <foreach item="File" property="fn">
    <in>
      <items>
        <patternset refid="${sourcefiles}"/>
      </items>
    </in>
    <do>
      <echo message="${fn}" />
    </do>
  </foreach>
</target>

<target name="use">
  <property name="sourcefiles" …
Run Code Online (Sandbox Code Playgroud)

nant properties expansion fileset

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

DrRacket中的宏步进器

在链接http://www.ccs.neu.edu/home/ryanc/macro-stepper/tutorial.html上有关于使用宏步进器的说明.

但是,当我要尝试它时,我无法在非零的定义中得到myor的第二次扩展?功能,只有第一个.另外,我没有按钮"上一学期"和"下一学期".

所以我的问题是:我如何配置宏步进器以获得第二次扩展,就像在教程中一样?

macros scheme expansion racket

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

我不知道lisp宏如何构建它的扩展?什么是确切的步骤?

我试着写一个宏并执行如下.但它未能执行.

(defmacro times_two (var) (* 2 var))
(times_two '(+ 1 2))
Run Code Online (Sandbox Code Playgroud)

在我的想象中,我认为扩张将是(*2(+ 1 2)).并且在执行之后,结果将是6.但是失败了.

我不知道为什么.我阅读了Emacs lisp手册,但我仍然无法理解它们.我想知道在构建扩展时究竟是什么步骤.口译员做了什么?

lisp emacs macros expansion

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

在Bash中,是否可以编写一个'identity'函数(相对于传递/返回的参数)

这种"身份"功能应满足以下2个属性:

identity $(identity a\ b c\ d)
# (Expected output:)
# a b
# c d
Run Code Online (Sandbox Code Playgroud)

并且,给定以下'argv_count'函数:

argv_count () { echo "argv_count('$@'):$#"; }
argv_count $(identity a\ b c\ d)
# (Expected output:)
# argv_count('a b c d'):2
Run Code Online (Sandbox Code Playgroud)

如果需要,可以在测试中引入额外的报价.

如下所示的简单候选者未能通过第二次测试:

identity () { for arg in "$@"; do echo "$arg"; done; }
Run Code Online (Sandbox Code Playgroud)

cat不是正确的解决方案,因为它是相对于stdin | stdout的标识函数.

variables bash quotes arguments expansion

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

C/C++宏扩展

我有以下代码:

#define UNIT_BASIC_UNIT_DEF2 (name) UNIT_BASIC_ ## name
#define UNIT_UNIT_TYPE_DEF2 (basic_type, name) UNIT_ ## basic_type ## _ ## name
#define UNIT_BASIC_UNIT_CLASS_NAME2(name) CUnit ## name
#define UNIT_UNIT_TYPE_CLASS_NAME2(basic_type, name) CUnit ## basic_type ## _ ## name

#define UNIT_BASIC_UNIT_DEF (name) UNIT_BASIC_UNIT_DEF2(name)
#define UNIT_UNIT_TYPE_DEF (basic_type, name) UNIT_UNIT_TYPE_DEF2 (basic_type, name)
#define UNIT_BASIC_UNIT_CLASS_NAME(name) UNIT_BASIC_UNIT_CLASS_NAME2(name)
#define UNIT_UNIT_TYPE_CLASS_NAME(basic_type, name) UNIT_UNIT_TYPE_CLASS_NAME2(basic_type, name)

#define UNIT_IMPLEMENT_UNIT_TYPE(basic_type, name) \
CUnitAbstract& UNIT_UNIT_TYPE_CLASS_NAME(basic_type, name)::dup(){\
UNIT_UNIT_TYPE_CLASS_NAME(basic_type, name) * n = new UNIT_UNIT_TYPE_CLASS_NAME(basic_type, name)(this->value);\
return *n;\
}\
CUnitAbstract& UNIT_UNIT_TYPE_CLASS_NAME(basic_type, name) ::operator+(CUnitAbstract& value){\
DYNAMIC_ASSERT(dynamic_cast< UNIT_BASIC_UNIT_CLASS_NAME(basic_type) *>(&value) != NULL);\ …
Run Code Online (Sandbox Code Playgroud)

c c++ macros expansion

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

bash中数组的内联扩展

我正在尝试在bash中扩展一个数组:

FILES=(2009q{1..4})
echo ${FILES[@]}
echo ${FILES[@]}.zip
Run Code Online (Sandbox Code Playgroud)

输出是:

2009q1 2009q2 2009q3 2009q4
2009q1 2009q2 2009q3 2009q4.zip
Run Code Online (Sandbox Code Playgroud)

但是如何在echo 2009q{1..4}.zip扩展中扩展最后一行,以便最后一行看起来像:

2009q1.zip 2009q2.zip 2009q3.zip 2009q4.zip
Run Code Online (Sandbox Code Playgroud)

...但是使用数组FILES

arrays bash expansion

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

在字符串变量中展开通配符

我正在从黑名单文件中读取字符串,其中包含应删除的文件和文件夹.它适用于简单文件名,但不适用于通配符.

例如,如果我在shell上键入,rm -rf !(abc|def)它将删除除这两个文件之外的所有文件.将此字符串!(abc|def)放入黑名单时,它不起作用,因为字符串不会被评估.

所以我尝试使用eval,但它没有按预期工作.

#!/bin/bash
# test pattern (normally read from blacklist file)
LINE="!(abc|def)"

# output string
echo "$LINE"

# try to expand this wildcards
eval "ls $LINE"

# try with subshell
( ls $LINE )
Run Code Online (Sandbox Code Playgroud)

我怎样才能使这个工作?

bash wildcard expansion

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

Rust的宏可以像C预处理器宏一样扩展为十六进制数吗?

我正在寻找创建一个可以在C中执行此操作的Rust宏.

#define V(a,b,c,d) 0x##a##b##c##d
Run Code Online (Sandbox Code Playgroud)

在调用时:

V(7B,B0,B0,CB)
Run Code Online (Sandbox Code Playgroud)

在编译时将简单地在代码中放置以下十六进制数:

0x7BaB0bB0cCDd
Run Code Online (Sandbox Code Playgroud)

尝试这样的事情:

macro_rules! gen_hex_num {
    ($a:expr , $b:expr , $c:expr , $d:expr) => (
        0x($a)a($b)b($c)c($d)d
    )
}
Run Code Online (Sandbox Code Playgroud)

产生错误:

error: macro expansion ignores token `a` and any following
 --> src/main.rs:3:16
  |
3 |         0x($a)a($b)b($c)c($d)d
  |               ^
  |
note: caused by the macro expansion here; the usage of `gen_hex_num!` is 
likely invalid in expression context
Run Code Online (Sandbox Code Playgroud)

文档和其他问题似乎不包括这种情况.

macros expansion rust

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

减少颤动中的扩展平铺高度

有没有减少ExpansionTile头的高度,因为它不具有height属性的方式,搜索后,我发现在GitHub上的自定义颜色,但我不能改变它,除了它给我的错误说“添加height属性未为类 AnimationController 定义驱动器”

height android expansion flutter

3
推荐指数
2
解决办法
2356
查看次数

更改 ExpansionPanelList.radio 中 ListTile 后面的图标颜色

在 ExpansionPanelList 的 ListTile 中,试验已经给出为向下箭头,并且当展开 ListTile 时,箭头变为向上箭头。

然而,它的颜色很暗。我添加了尾随:图标(等等)。这只是在标题和默认的尾随按钮(向下箭头)之间添加了一个图标。

如何更改默认尾随按钮的颜色,同时保持其多功能性(当框展开时它会变成向上箭头)?

我尝试将 ListTile 包装在主题中,这是有人推荐的,但向下箭头的颜色没有改变,如下所示:

Widget _buildPanel() {
    return ExpansionPanelList.radio(
      initialOpenPanelValue: 0,
      children: _data.map<ExpansionPanelRadio>((Item item) {
        return ExpansionPanelRadio(
          backgroundColor: Colors.black,
          canTapOnHeader: true,
          value: item.id,
          headerBuilder: (BuildContext context, bool isExpanded) {
            return Theme(
              data: Theme.of(context)
                  .copyWith(unselectedWidgetColor: Colors.white),
              child: ListTile(
                title: Text(item.headerValue,
                  
...

Run Code Online (Sandbox Code Playgroud)

更新错误: 错误 错误继续

list colors expansion flutter

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

标签 统计

expansion ×10

macros ×4

bash ×3

flutter ×2

android ×1

arguments ×1

arrays ×1

c ×1

c++ ×1

colors ×1

emacs ×1

fileset ×1

height ×1

lisp ×1

list ×1

nant ×1

properties ×1

quotes ×1

racket ×1

rust ×1

scheme ×1

variables ×1

wildcard ×1