如何y = $ x“”$ y执行反向

时间:2016-12-08 04:45:18

标签: shell

我使用此代码来反转$ @中的命令行参数 我的代码是

    {    
HashMap postData = new HashMap();
PostResponseAsyncTask taskInsert = new PostResponseAsyncTask(slider2.this,
    postData, new AsyncResponse() {                
    @Override
    public void processFinish(String s) {
        productList = new JsonConverter<product_main_list>().toArrayList(s, product_main_list.class);
        dict = new BindDictionary<>();
        dict.addStringField(R.id.t1, new StringExtractor<product_main_list>() {
            @Override
            public String getStringValue(product_main_list product, int position) {
               // Toast.makeText(slider2.this, "name  "+position, Toast.LENGTH_SHORT).show();
                return product.name;
            }
        });

        dict.addDynamicImageField(R.id.im1, new StringExtractor<product_main_list>() {
            @Override
            public String getStringValue(product_main_list product, int position) {
               // Toast.makeText(slider2.this, "im  "+position, Toast.LENGTH_SHORT).show();
                String link = "<link>";
                return link;
            }
        }, new DynamicImageLoader() {
            @Override
            public void loadImage(String url, ImageView view) {
                Picasso.with(slider2.this)
                        .load(url)
                        // .placeholder(R.mipmap.ic_launcher)
                        // .error(R.mipmap.ic_launcher)
                        .resize(300, 300)
                        .centerCrop()
                        .into(view);
            }
        });
      //  Toast.makeText(slider2.this, "s", Toast.LENGTH_SHORT).show();
        adapter = new FunDapter<>(slider2.this, productList, R.layout.activity_main, dict);
        lvProduct.setAdapter(adapter);
    }
});
taskInsert.execute("<link of php file in server>");
}

我无法理解这是如何运作的。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

$@获取所有参数,空格分隔(如果参数包含空格,则无法正常工作,请使用"$@")。然后for循环接受变量y,它变为空,并将当前参数x放在它前面:y=$x""$y。如果我有参数a b c,那么y=a ... y="b a" ... y="c b a"

答案 1 :(得分:0)

  1. 在SOF中,对于代码块使用```,对于内联代码使用`。

  2. 此代码循环遍历$@,并在结果($y)前面连接每个代码。

    • 例如,当./program.sh a b cfor语句循环于"a""b""c"以及每个循环{{ 1}}是

      1. $y"a")前面联合"$y"。结果是""
      2. "a""b")前面联合"$y"。结果是"a"
      3. "ba""c")前面联合"$y"。结果是"ba"
      4. 通过这些步骤,你得到了反向字符串。

        如果您在"cba"" "之间添加$x,您将获得完全相反的字符串,即$y