小编ind*_*ess的帖子

Perl:映射到列表的第一个元素

任务:使用map构建哈希,其中keys是给定数组@a的元素,值是某些函数f($ element_of_a)返回的列表的第一个元素:

my @a = (1, 2, 3);
my %h = map {$_ => (f($_))[0]} @a;
Run Code Online (Sandbox Code Playgroud)

好的,直到f()返回一个空列表(对f()来说绝对正确,在这种情况下我想分配undef).可以使用以下代码重现该错误:

my %h = map {$_ => ()[0]} @a;
Run Code Online (Sandbox Code Playgroud)

错误本身听起来像"散列分配中奇数个元素".当我重写代码时:

my @a = (1, 2, 3);
my $s = ()[0];
my %h = map {$_ => $s} @a;
Run Code Online (Sandbox Code Playgroud)

要么

my @a = (1, 2, 3);
my %h = map {$_ => undef} @a;
Run Code Online (Sandbox Code Playgroud)

Perl根本没有抱怨.

那么我该如何解决这个问题 - 当返回的列表为空时,获取f()返回的列表的第一个元素?

Perl版本是5.12.3

谢谢.

arrays perl hash undef map

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

UIScrollView:单击可将其滚动到顶部

我将UIScrollView与pagingEnabled设置为YES,并以编程方式将其内容滚动到底部:

CGPoint contentOffset = scrollView.contentOffset;
contentOffset.y = scrollView.contentSize.height - scrollView.frame.size.height;
[scrollView setContentOffset:contentOffset animated:YES];
Run Code Online (Sandbox Code Playgroud)

它成功滚动,但在此之后,单击它的内容会向上滚动,以便在它向下滚动之前进行偏移.只有在我将scrollView的内容滚动到底部然后点击时才会发生这种情况.当我滚动到任何其他偏移然后点击时,没有任何事情发生.

这绝对不是我想要的.应如何解决?

非常感谢提前!

帖木儿.

iphone paging uiscrollview

5
推荐指数
3
解决办法
5183
查看次数

标签 统计

arrays ×1

hash ×1

iphone ×1

map ×1

paging ×1

perl ×1

uiscrollview ×1

undef ×1