gpt4 book ai didi

javascript - Pebble SDK/SimplyJS 不尊重\t Angular 色

转载 作者:行者123 更新时间:2023-11-29 14:51:20 25 4
gpt4 key购买 nike

在将数据推送到我的 watch (使用 SimplyJS)时,我正在努力让我的 Pebble watch 支持转义序列字符 \t

以下片段是我一直在使用的代码:

simply.scrollable(true);
simply.style('small');
simply.fullscreen(true);

var aflLadderUrl = 'http://www.sportal.com.au/feeds/sss/afl_ladder.json';

var ladderContent = '';

ajax({ url: aflLadderUrl, type: 'json'},
function(data) {
var i = 0;
while (i < 18){
ladderContent = ladderContent + data.ladder[i].friendly_name + '\t\t\t' + data.ladder[i].percentage + '\n';
i++;
}
simply.text({
title: 'AFL Ladder',
body: ladderContent
});
},
function() {
simply.text({
title: 'AFL Ladder',
body: 'No internet connection'
});
}
);

我目前观察到的是 \n 得到了尊重,我可以在我的 watch 上看到,每一行数据都显示在单独的一行上。但是,似乎我的 \t 被忽略了,而不是在我的行中插入制表符,而是显示零空白(即 'my name is' + '\t\t\t' + 'dave' 显示为 my name isdave).

我还尝试仅使用 Pebble SDK 编译一个 Hello World 程序(从 https://github.com/kristofvc/pebble-hello-world/blob/master/src/pebble_hello_world.c 中获取代码并在第 11 行打印的字符串中添加几个 \t\t ) 并且还注意到 SDK 支持 \n 字符但不支持 \t 字符(就像我的 SimplyJS 应用程序所做的那样)。

我的问题是:是否可以让 Pebble(通过 SDK 或 SimplyJS)以打印到控制台时您期望的方式显示选项卡?我知道\t 字符可能不受支持,而不是使用 \t 我可以只使用空格,但是这个让我很好奇。

如果您需要更多信息,请告诉我。

提前致谢!

最佳答案

因为 \t 是一个控制(不可打印)字符,它不对应于任何字形并且不会得到一致的“显示”,如果有的话。例如,终端仿真器对它的解释与读取 TSV 文件的电子表格软件不同。听起来 Pebble 固件中将字节串转换为显示器像素的部分忽略了 \t,尽管我在 SDK 文档中找不到它。

如果您使用固定宽度的字体,您可以使用空格实现您自己的制表符,如下所示:

var data = {ladder: [
{friendly_name: "Cool Team", percentage: 80.0},
{friendly_name: "Really Cool Team", percentage: 80.0},
{friendly_name: "The Coolest Team of All", percentage: 80.0}
]}

var len = function(obj) {return obj.friendly_name.length}
var longer = function(a, b) {return len(a) > len(b) ? a : b}
var longestName = len(data.ladder.reduce(longer))

var tab = function(obj) { return new Array(longestName - len(obj) + 2).join(" ") }
var print = function(obj) { return obj.friendly_name + tab(obj) + obj.percentage }

var ladderContent = data.ladder.map(print).join("\n")
// Cool Team 80
// Really Cool Team 80
// The Coolest Team of All 80

关于javascript - Pebble SDK/SimplyJS 不尊重\t Angular 色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25238092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com