小编Tyl*_*aff的帖子

Bash while循环,如何读取输入直到条件为false

我一直遇到运行时错误.我在OSX的终端上运行它.错误是,

test.sh: line 15: while[!false]: command not found
test.sh: line 16: syntax error near unexpected token `do'
test.sh: line 16: `do'
Run Code Online (Sandbox Code Playgroud)

因为我刚开始编写bash脚本,所以我无法弄清楚语法上的错误.

ipa build &
TASK_PID=$!
sleep 5
kill $TASK_PID

finished=false
declare -a schemes

echo "*****************************************************************************************"
echo "| View the list of available build configs above."
echo "| Enter the name of the build you want,one at a time."
echo "| Type \"done\" to finish entering scheme names"
echo "*****************************************************************************************"

while[!${finished}]
do
read input
  if[$input == "done"]
  then
      finished=true
  else …
Run Code Online (Sandbox Code Playgroud)

bash

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

为什么Xcode中的控制台无法使用点表示法打印对象的属性?

我有一个UIButton,我已经设置了accessibilityLabel.当我尝试使用点表示法打印时,为什么控制台无法找到辅助功能标签属性?

(lldb) po self.closeButton.accessibilityLabel
error: property 'accessibilityLabel' not found on object of type 'UIButton *'
error: 1 errors parsing expression
(lldb) po [self.closeButton accessibilityLabel]
topsecretlabel
Run Code Online (Sandbox Code Playgroud)

objective-c uibutton ios lldb

4
推荐指数
1
解决办法
1327
查看次数

flurry分析如何跟踪我的应用版本号?

我正在为我的应用程序查看我最常用的版本号.看来flurry正在我的plist中使用内部版本号字段(包版本)来报告特定应用程序的版本.这是真的?如果是这样,我可以在我的plist中使用不同的字段吗?(即Bundle Version string short)怎么样?我经常更改内部版本号,我希望看到像1.0.1(一个版本)而不是28(一个内部版本号)的东西.

plist flurry ios

4
推荐指数
1
解决办法
2091
查看次数

为什么我的指针不是NULL?

我有一个家庭链表.我删除了其中一个孩子的兄弟姐妹.

p->myWife->myChildren=p->myWife->myChildren->mySibling; //makes the sibling the child so the list is not broken when deleting
delete p->myWife->myChildren->mySibling;
Run Code Online (Sandbox Code Playgroud)

然后我打印基于此的子/兄弟属性

if(p->myWife->myChildren->mySibling!=NULL){
 print the childs attributes
}
Run Code Online (Sandbox Code Playgroud)

每当我打印时,它会为兄弟打印一个奇怪的数字(我假设它的内存地址)我需要做什么才能使该指针为空?

c++ null pointers

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

试图实现一个可以比较任何两个列表的方法,但它总是返回false

我正在尝试创建一个方法,可以比较任何两个列表的相等性.我试图以一种验证一个列表的每个元素与另一个列表的每个元素具有相同值的方式来比较它们.Equals下面我的方法总是返回false,有人能看出为什么会这样吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public class IEnumerableComparer<T> : IEqualityComparer<IEnumerable<T>>
{
    public bool Equals(IEnumerable<T> x, IEnumerable<T> y)
    {
        for(int i = 0; i<x.Count();i++){
          if(!Object.Equals(x.ElementAt(i), y.ElementAt(i))){
             return false;
          }
        }
        return true;
    }

    public int GetHashCode(IEnumerable<T> obj)
    {
        if (obj == null)
            return 0;

        return unchecked(obj
            .Select(e => e.GetHashCode())
            .Aggregate(0, (a, b) => a + b)); 
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我用于测试此Equals方法的数据:

 static void Main(string[] args)
        {
            Car car1 = new Car(); …
Run Code Online (Sandbox Code Playgroud)

c# comparison ienumerable list

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

帮我理解这个算法(简单)

我刚刚创建了一个队列类,现在我必须使用它来执行此操作.

编写一个c ++程序,使用A,B和C作为字母生成所有字符串.

必须按以下顺序生成字符串:A B C AA AB AC BA BB BC CA CB CC AAA AAB AAC ABA ABB ABC ACA ACB ACC等

它应该这样做,直到我的队列溢出.

现在,我根本不理解老师建议使用的算法,就是这个.

从队列中的A,B和C开始."删除它显示它然后添加添加添加"

添加添加的东西会让我失望,它如何以这个特定的顺序获得这些字母?

c++ algorithm queue

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

为什么改造重新排序我的QueryMap参数?

我正试图像这样查询github api ......

https://api.github.com/search/repositories?q=created:>=2015-07-11&sort=stars&order=desc&perpage=25&page=1
Run Code Online (Sandbox Code Playgroud)

这是我的GET

    @GET("/search")
    public void getTrending(@QueryMap Map<String,String> filters,Callback<GitResponse> response);
Run Code Online (Sandbox Code Playgroud)

这是我如何设置我的查询Map ...

    Map<String,String> searchFilters = new HashMap<>();
    searchFilters.put("created>","2015-07-11");
    searchFilters.put("sort","stars");
    searchFilters.put("order","desc");
    searchFilters.put("perpage","25");
    searchFilters.put("page", "1");


   api.getTrending(Collections.unmodifiableMap(searchFilters), new Callback<GitResponse>() {
       @Override
       public void success(GitResponse gitResponse, Response response) {
           Log.e("tag",response.toString());
       }

       @Override
       public void failure(RetrofitError error) {
           Log.e("tag",error.toString());
       }
   });
Run Code Online (Sandbox Code Playgroud)

这是通过改造格式化的网址.

https://api.github.com/search/repositories?order=desc&created > = 2015-07-11&perpage = 25&sort = stars&page = 1

请注意,params的顺序不会保留.我需要成为created >=查询正常工作的第一个参数.我试过使用,Collections.unmodifiableMap()但没有帮助.在改造文档中,他们使用的是番石榴ImmutableMap.of().我是否必须使用番石榴来保留订单?

android github-api retrofit

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

将图像加载asynctask转换为rxjava,为什么它会滞后于ui?

我正在尝试学习RxJava,我正在转换AsyncTask我必须是一个Observable/Subscriber.原始AsyncTask图像在后台加载,然后将ImageView的drawable设置为加载的图像onPostExecute.显示的图像位于recyclerview中,当列表滚动时,将为列表中的每个项目加载图像.我将它转换为Rx,但现在滚动时存在很多延迟.fetchThumbnail每次onBind调用该方法都在RecyclerView的适配器中调用.下面您将看到我的原始实现已注释掉,以及新的实现.我发现使用RxJava时内存或CPU使用率没有显着增加.我相信我也在订阅和观察正确的线程.是什么赋予了?

public class ThumbnailWorker {

    public static void fetchThumbnail(final Context context, final GalleryItem galleryItem, final int thumbId, final ThumnailFetchedListener completionListener) {

        galleryItem.thumbnail.setImageBitmap(null);
        galleryItem.progressBar.setVisibility(View.VISIBLE);

        Observable.just(MediaStore.Video.Thumbnails.getThumbnail(context.getContentResolver(),
                thumbId
                , MediaStore.Video.Thumbnails.MINI_KIND,
                null))
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Action1<Bitmap>() {
                    @Override
                    public void call(Bitmap bitmap) {
                        completionListener.thumbnailFetched(galleryItem, bitmap, thumbId);
                        galleryItem.progressBar.setVisibility(View.GONE);
                    }
                });


//
//        new AsyncTask<Void,Bitmap,Bitmap>() {
//
//
//            @Override
//            protected void onPreExecute() {
//                super.onPreExecute();
//                galleryItem.thumbnail.setImageBitmap(null);
//                galleryItem.progressBar.setVisibility(View.VISIBLE);
//            }
//
//            @Override …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask rx-java rx-android

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

我如何表达我想做某事“如果函数返回 true/false”

我正在制作一个字典程序。在将单词添加到字典之前,AddWord 函数会调用 SearchForWord 函数,如果搜索函数发现传递给它的单词已经在字典中,则返回 true。

在添加函数中,我希望它仅在搜索函数返回 false(意味着它没有找到该单词)时才移动到实际添加单词的部分,并且我不知道如何正确表达这一点。

编辑:我从 emacs 复制并粘贴了这一切,格式很时髦,不要讨厌。

bool Dictionary:: AddAWord(string word)
{
  ofstream fout;  
  string fileName="#.txt";  
  fileName[0]=toupper(word[0]);  

  if(SearchForWord(word)=false){   //here i figured the SearchForWord function would be called and return either true or false  
    //add word  
  }else{  
    //dont add word  
  }
Run Code Online (Sandbox Code Playgroud)

如果有帮助的话,这是完整的搜索功能

bool Dictionary::SearchForWord(string word)  
{  
   ofstream fout;  
   ifstream fin;  
   string x;  
   string fileName="#.txt";  
   fileName[0]=toupper(word[0]);  
   fout.open(fileName.data());  
   if(!fin.eof()){  
     while(fin>>x){  
      if(x=word){  
       cout<<"Word found during search";  
       return(Dictionary::success);  
      }  
     }  
    }else{  
       return(Dictionary::failure);  
    }  
}
Run Code Online (Sandbox Code Playgroud)

c++ syntax boolean

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

如何判断我的活动是否由广播接收器启动?

我有一个闹钟应用程序.我有一个活动,用户设置闹钟的时间.这将注册我在发出警报时接收广播的广播接收器类别AlarmManager.然后我在接收器中开始一个新的活动onReceive().当第二个活动开始时,播放闹钟声音onStart().如何判断我的活动是由接收者启动还是用户只是对应用程序进行多任务处理?当用户使闹钟静音,按下主页按钮,然后租借应用程序(同时仍然在声音播放活动中)时,我不希望我的声音播放.

android broadcastreceiver alarmmanager android-intent

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