http://www.dragonfiresdk.com/index.htm Я не использовал его, но те, с кем я говорил, говорят, что он хороший :), к сожалению, это стоит денег: (
{{1 }}Вам не обязательно Mac. Это зависит от ваших требований к приложению. Вы всегда можете создать веб-приложение для iPhone.
Вот хорошее руководство по Aptana (IDE на основе Eclipse для веб-разработки). Кажется, в Aptana встроен какой-то симулятор iPhone.
Доступны различные инструменты, например iui и jQTouch , чтобы имитировать внешний вид приложений iPhone.
Начиная с версии 5.10, можно также использовать именованные буферы захвата :
#!/usr/bin/perl
use strict; use warnings;
my %data;
my $s = 'abcdefghijklmnopqr';
if ($s =~ /abc (?<first>def) ghi (?<second>jkl) mno (?<third>pqr)/x ) {
push @{ $data{$_} }, $+{$_} for keys %+;
}
use Data::Dumper;
print Dumper \%data;
Output:
$VAR1 = { 'first' => [ 'def' ], 'second' => [ 'jkl' ], 'third' => [ 'pqr' ] };
Для более ранних версий можно использовать следующее, что позволяет избежать необходимости добавлять строку для каждого захваченного буфера:
#!/usr/bin/perl
use strict; use warnings;
my $s = 'abcdefghijklmnopqr';
my @arrays = \ my(@first, @second, @third);
if (my @captured = $s =~ /abc (def) ghi (jkl) mno (pqr) /x ) {
push @{ $arrays[$_] }, $captured[$_] for 0 .. $#arrays;
}
use Data::Dumper;
print Dumper @arrays;
Output:
$VAR1 = [ 'def' ]; $VAR2 = [ 'jkl' ]; $VAR3 = [ 'pqr' ];
Но мне нравится сохранять связанные данные в одной структуре данных, поэтому лучше всего вернуться к использованию Это требует дополнительного массива, однако:
my %data;
my @keys = qw( first second third );
if (my @captured = $s =~ /abc (def) ghi (jkl) mno (pqr) /x ) {
push @{ $data{$keys[$_]} }, $captured[$_] for 0 .. $#keys;
}
Или, если имена переменных действительно первый
, второй
и т.д., или если имена буферов не имеют значения, но только порядок делает, вы можете использовать:
my @data;
if ( my @captured = $s =~ /abc (def) ghi (jkl) mno (pqr) /x ) {
push @{ $data[$_] }, $captured[$_] for 0 .. $#captured;
}
-121--2393385- Просто в случае, если кому-то это нужно, я уточнил решение Джона немного так
// jquery_trigger_ready.js
// this function is added to jQuery, it allows access to the readylist
// it works for jQuery 1.3.2, it might break on future versions
$.getReadyList = function() {
if(this.readyList != null) { this.myreadylist = [].concat(this.readyList); }
return this.myreadylist;
};
$(document).ready(function() {
readylist = $.getReadyList();
});
$.triggerReady = function() {
$(readylist).each(function(){this();});
}
Включение этого файла после включения jquery позволяет запустить ready путем вызова $ .triggerReady ()
. Пример:
<html>
<head>
<title>trigger ready event</title>
<script src="test2_files/jquery-1.js" type="text/javascript"></script>
<script src="jquery_trigger_ready.js" type="text/javascript"></script>
</head>
<body>
<input onclick="$.triggerReady();" value="trigger ready" type="button">
<script type="text/javascript">
$(document).ready(function(){
alert("blah");
});
</script>
</body>
</html>
Кстати, я хотел сделать его $ (документ) .triggerReady ()
. Если кто-то готов поделиться советом по этому поводу, не стоит ценить.
Получите Mac или запустите сервер OSX под VMWare (установите OSX86 в отдельный раздел)...
Используйте инструментальную цепочку с открытым исходным кодом, обычно используемую для взломанных разработчиков. Он должен работать для магазина приложений ...
Есть несколько хороших обсуждений разработки iPhone с точки зрения разработчиков .net здесь:
http://dotnetrocks.com/archives.aspx
Шоу: 468 и 454, есть также предстоящее шоу 3 марта
Крис Харди провел хорошую сессию по использованию C# для разработки на iPhone с помощью Monotouch на последнем DDD в Microsoft, Рединг, Великобритания, в прошлом месяце. Его сессия была записана. Вот ссылка на видео. http://vimeo.com/9150434