小编Lyn*_*ynn的帖子

Android TSP徘徊

有没有办法(或任何API)我们可以用来检查Android设备是否支持TSP悬停?

android API 14中添加了一些监听器,即View.OnHoverListener.但这并不表示是否支持Finger Hover.

这里是链接描述三星不提供任何这样的API.

我想要使​​用Android API的通用解决方案.

有没有人对这个或任何黑客有任何想法?

android hover

7
推荐指数
0
解决办法
1062
查看次数

Prolog `shift`/`reset` 与其他语言有何不同?

我在这里找到了 Haskell 中移位重置分隔延续的示例:

resetT $ do
    alfa
    bravo
    x <- shiftT $ \esc -> do
       charlie
       lift $ esc 1
       delta
       lift $ esc 2
       return 0
    zulu x
Run Code Online (Sandbox Code Playgroud)

这会:

  1. 履行alfa

  2. 履行bravo

  3. 履行charlie

  4. 绑定x到1,从而执行zulu 1

  5. 从末尾掉下来resetT,然后跳回到后面esc 1

  6. 履行delta

  7. 绑定x到2,从而执行zulu 2

  8. 从末尾掉下来resetT,然后跳回到后面esc 2

  9. 逃离resetT,导致它产生 0

我不知道如何使用 SWI-Prolog 的shift/1reset/3编写等效代码。

下面的代码是我的尝试。输出是相同的,但看起来很混乱和倒退,我觉得我误用了与Haskell 示例中的和Ball类似的东西。另外,我不知道该怎么办。esc 1esc 2return 0 …

continuations haskell prolog swi-prolog delimited-continuations

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

python算法以pythonic方式完成?

给定一个输入文本数组

input_array = [
    'JUNK', 'Mon', 'JUNK', '10am', 'JUNK', '-', ' 5pm',
    '6pm', '-', '9pm', 'JUNK', 'Tue', '10am', '-', 'JUNK', '5pm'
]
Run Code Online (Sandbox Code Playgroud)

应该转换为JSON

[
  {
    "weekday_name": "monday",
    "starting_time": "10am",
    "ending_time": "5pm"
  },
  {
    "weekday_name": "monday",
    "starting_time": "6pm",
    "ending_time": "10pm"
  },
  ...
]
Run Code Online (Sandbox Code Playgroud)

虽然这是一个简单的算法,但我不得不创建通常被认为是非pythonic的临时变量.

代码有丑陋的临时变量

import pprint

input_array = ['JUNK','Mon','JUNK','10am','JUNK','-','5pm','6pm','-','9pm','JUNK','Tue','10am','-','JUNK','5pm']

business_hours = []
start_hours = None
end_hours = None
current_day = None
dash_found = False

days_of_the_week = {}
days_of_the_week['Mon'] = 'monday'
days_of_the_week['Tue'] = 'tuesday'
days_of_the_week['Wed'] = 'wednesday'
days_of_the_week['Thu'] = …
Run Code Online (Sandbox Code Playgroud)

python algorithm

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

`friday`包非常慢

我正在编写一个Haskell程序,它从Knytt Stories世界文件中绘制大地图.我使用包来制作图像文件,我需要编写我从spritesheets放在一起的许多图形层.现在,我使用自己的丑陋功能:friday

import qualified Vision.Primitive as Im
import qualified Vision.Image.Type as Im
import qualified Vision.Image.Class as Im
import Vision.Image.RGBA.Type (RGBA, RGBAPixel(..))

-- Map a Word8 in [0, 255] to a Double in [0, 1].
w2f :: Word8 -> Double
w2f = (/255) . fromIntegral . fromEnum

-- Map a Double in [0, 1] to a Word8 in [0, 255].
f2w :: Double -> Word8
f2w = toEnum . round . (*255)

-- Compose two images …
Run Code Online (Sandbox Code Playgroud)

graphics performance haskell friday

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

为什么 JSON.parse 的第二个参数叫做“reviver”?

MDN 文档

  • reviver (可选的)

    如果是函数,则规定在返回之前如何转换最初由解析产生的值。

它的名字让我觉得很奇怪。也许我在这里遗漏了一个比喻?-?为什么这会被称为“复活”一个物体?这种变压器功能被称为“复活者”有什么历史吗?谷歌搜索reviver +javascript显示,这JSON.parse基本上是唯一使用该术语的地方。

javascript json terminology

5
推荐指数
2
解决办法
1083
查看次数

我可以在Idris中证明(s:Stream a) - >(head s :: tail s = s)吗?

以下Idris证明没有进行类型检查.

hts : (s : Stream a) -> (head s :: tail s = s)
hts (x::xs) = Refl
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

    Type mismatch between
            x :: Delay xs = x :: Delay xs
    and
            x :: Delay (tail (x :: Delay xs)) = x :: Delay xs
Run Code Online (Sandbox Code Playgroud)

非空Vects 类型检查的类似证据就好了:

import Data.Vect
htv : (s : Vect (S k) a) -> (head s :: tail s = s)
htv (x::xs) = Refl
Run Code Online (Sandbox Code Playgroud)

所以我猜这个问题是在懒惰中Stream.


我的工作理论是,伊德里斯不喜欢简化其中的任何内容Delay,因为它可能以这种方式进入无限循环.然而,我想强迫伊德里斯无论如何都要倾向于脚趾,因为Prelude.Stream.tailLHS …

lazy-evaluation idris

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

如果继承了结构,则无法使用初始值设定项列表来初始化该结构吗?

我对我编写的 (C++14) 代码片段感到困惑:

struct B {};
struct C     { int m; };
struct D : B { int m; };

int main() {
    C c = { 1 }; // this works
    D d = { 1 }; // this doesn't work
}
Run Code Online (Sandbox Code Playgroud)

我可以为D自己编写一个构造函数,但是我找不到一个很好的解释来解释为什么结构D不再可以使用初始化列表进行初始化。我所改变的只是让它继承一个完全空的类——我想我以某种方式让它的行为不像结构体。

C我的编译器究竟如何以不同的方式处理结构D

c++ inheritance struct aggregate-initialization

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

gn 脚本使用错误的 Python 版本运行(“需要类似字节的对象,而不是 'str'”)

gn在 macOS (Catalina 10.15) 上构建 Chromium 或 libwebrtc 时,我从 Python 构建脚本中收到关于bytes和 的错误str。例如:

src [heads/master?] % gn gen out/ios_64 --args='target_os="ios" target_cpu="arm64"'
ERROR at //build/config/ios/ios_sdk.gni:109:21: Script returned non-zero exit code.
  _ios_sdk_result = exec_script(script_name, ios_sdk_info_args, "scope")
                    ^----------
Current dir: /Users/lynn/code/webrtc_ios/src/out/ios_64/
Command: python /Users/lynn/code/webrtc_ios/src/build/config/mac/sdk_info.py --get_sdk_info iphoneos
Returned 1.
stderr:

Traceback (most recent call last):
  File "/Users/lynn/code/webrtc_ios/src/build/config/mac/sdk_info.py", line 107, in <module>
    FillXcodeVersion(settings, args.developer_dir)
  File "/Users/lynn/code/webrtc_ios/src/build/config/mac/sdk_info.py", line 59, in FillXcodeVersion
    settings['xcode_version'] = FormatVersion(lines[0].split()[-1])
  File "/Users/lynn/code/webrtc_ios/src/build/config/mac/sdk_info.py", line 43, in FormatVersion
    major, minor, …
Run Code Online (Sandbox Code Playgroud)

build-system build-script chromium gn

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

parsec:意外的字符解析嵌套注释

我正在尝试解析嵌套的类似 C 的块注释

import Text.ParserCombinators.Parsec
import Control.Monad (liftM)

flat :: Monad m => m [[a]] -> m [a]
flat = liftM concat

comment :: Parser String
comment = between (string "/*") (string "*/") (try nested <|> content)
  where
    content = many (try (noneOf "*/")
                   <|> try (char '*' >> notFollowedBy (char '/') >> return '*')
                   <|> try (char '/' >> notFollowedBy (char '*') >> return '/'))
    nested  = flat $ many comment
Run Code Online (Sandbox Code Playgroud)

"1234567890"解析得很好,但是当我尝试时

parse comment "" "/*123/*456*/789*/"
Run Code Online (Sandbox Code Playgroud)

我明白了

Left …
Run Code Online (Sandbox Code Playgroud)

haskell parsec

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

包含重复键的字典文字是否定义良好?

如果我写d = {0: 1, 0: 2},Python 是否保证 的值d[0],还是“未定义的行为”?

(当然,这不是你在编程时写的东西但这个问题主要是出于好奇。在本地,它似乎总是保存与键最后一次出现相关的值,即2这里。也许它是有用的信息不过,有些奇怪的代码生成情况。)

python syntax dictionary

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